数组的下标从零开始
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
网友评论