Shell数组相关操作

时间:2023-03-09 02:44:50
Shell数组相关操作

参考:http://www.cnblogs.com/chengmo/archive/2010/09/30/1839632.html

创建数组

a=(    )

获得数组长度

${#a[@]} #${#变量}为获得变量长度
${#a[*]}

打印数组内容

echo ${a[@]}    #echo $a仅打印出数组的第一个元素
echo ${a[*]}

删除

unset a[]    #删除单个成员
unset a #删除整个数组

单个赋值

a[]=
a[]=200 #下标值超出长度索引,此时数组a的长度为5+1=6,a[5],a[6],a[7],a[8],a[9]无值,打印数组最后的内容:echo ${a[10]}

分片

echo ${a[@]::}    #格式:${变量名[@或*]:起始索引:分片长度}
c=(${a[*]:1:2}) #若不用括号扩起来得到的是字符串
c=${a[*]:1:2}    #此时,c为字符串

替换

echo ${a[@]//}     #不会改变原数组a
y=${a[*]//} #此时,y为字符串
y=(${a[@]//}) #此时,y为数组