Shell数组相关操作
参考:http://www.cnblogs.com/chengmo/archive/2010/09/30/1839632.html
创建数组
a=(1 2 3 4 5)
获得数组长度
${#a[@]} #${#变量}为获得变量长度
${#a[*]}
打印数组内容
echo ${a[@]} #echo $a仅打印出数组的第一个元素 echo ${a[*]}
删除
unset a[1] #删除单个成员 unset a #删除整个数组
单个赋值
a[1]=100 a[10]=200 #下标值超出长度索引,此时数组a的长度为5+1=6,a[5],a[6],a[7],a[8],a[9]无值,打印数组最后的内容:echo ${a[10]}
分片
echo ${a[@]:1:2} #格式:${变量名[@或*]:起始索引:分片长度}
c=(${a[*]:1:2}) #若不用括号扩起来得到的是字符串
c=${a[*]:1:2} #此时,c为字符串
替换
echo ${a[@]/2/200} #不会改变原数组a y=${a[*]/2/200} #此时,y为字符串 y=(${a[@]/2/200}) #此时,y为数组