数组

2020-08-06  本文已影响0人  ALuckyLive

数组的下标从零开始
shell数组用括号()表示,元素由空格分隔
array_name=(value1 ... value10)
数组名=([0]=value [1]=value [2]=value...)

#!/bin/bash
array=( one two three )
echo ${array[@]}
#!/bin/bash
array=(
           one
           two
           three
           )
echo ${array[@]}
#!/bin/bash
array[0]=one
array[1]=two
array[2]=three
echo ${array[@]}

数组遍历,调用数组元素编号

#!/bin/bash
array=( one two three )
for i in ${!array[@]}
do 
     echo ${array[i]}
done

#!/bin/bash
array=( one two three )
for i in ${array[@]}
do
     echo $i
done     

删除数组中的元素
unset array[index]

#!/bin/bash 
array=( 10 20 30 )
echo ${#array[@]}
unset  array[0]
echo ${array[@]}

数组分片格式
${array[@]:起始位:数字长度}中间以":"隔开,如果第二项省略的话,就取后面所有的项

#!/bin/bash
array=(10 20 30 40 50)
echo ${array[@]}
echo ${array[@]:0:2}
echo ${array[@]::3}
echo ${array[@]:-2:1}

求数组中的最大数

#!/bin/bash
for ((i=1;i<=5;i++))
do
     read -p "请输入第"$i"次的数字:" num
     array[$i-i]=$num
done
max=array[0]
for ((k=1;k<=${#array[@]}-1;k++))
do
       if [ $max -le ${array[k]} ]
       then
              max=$array[k]
      fi
done
echo $max      

上一篇 下一篇

猜你喜欢

热点阅读