SHELL数组

定义

shell支持一维数组, 不限定数组的大小, 数组下标由0开始编号.

在shell中用括号来表示数组, 数组元素用空格符号分开, 定义的一般形式为arr=(value1 value2 ... valueN):

arr1=() # 空数组
arr2=(1 2 3 4 5 6)
或者
arr3=(
1
2
3
)

还可以单独定义数组的各个分量:

num[0]=1
num[1]=2
num[2]=3

注意:数组可以不使用连续的下标, 而且下标的范围没有限制.

引用数组

一般的形式为 value=${arr[N]}:
echo ${num[0]}

使用@或*可以获取数组中的所有元素

echo ${arr[*]}
echo ${arr[@]}
这两个是等价的. 

获取数组长度

len=${#arr[@]}
或 len=${#arr[*]}
取得数组单个元素的长度
len=${#arr[n]}

获取数组索引的值

${!name[@]}
${!name[*]}
name[1]=20
name[19]=30
echo ${!name[*]}

遍历数组

通过数组的值遍历:

for i in ${array[*]};do
    echo ${i}
done

也可以通过索引遍历:

for i in ${!name[*]};do
    echo ${name[$i]}
done
posted @ 2017-06-13 22:46  一忘如故  阅读(190)  评论(0编辑  收藏  举报