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为数组

 

posted @ 2015-10-08 20:57  flowjacky  阅读(179)  评论(0编辑  收藏  举报