shell 数组操作

#声明
a=(1 2 3 4 5)
#数组访问
echo ${a[1]}
b=([1]=d [2]=f [3]=h)
#数组访问
echo ${b[1]}
#读取数组全部内容
echo ${a[*]}
echo ${a[@]}
#数组删除
unset a[0]
echo ${a[0]}
#获取数组长度
echo ${#a[@]} #unset一个所以是4
#数组提取
c=(1 2 3 4 5 6)
echo ${c[@]:0}
echo ${c[@]:2:3}
#子串删除
e=(one otw threooeo threefour)
echo ${e[@]#t*e}#左边开始最短的匹配: "t*e", 这将匹配到"thre"
echo ${e[@]##t*e} #左边开始最长匹配: 这将匹配到"three"
echo ${e[@] /o/m} #第一个匹配的o替换成m
echo ${e[@] //o/m} #所有匹配的o替换成m
echo ${e[@] /o/} #删除第一个匹配的o
echo ${e[@] //o/} #删除所有的o
echo ${e[@] /#o/k} #替换字符串前端的o
echo ${e[@] /%o/k} #替换字符串后端的o
原文地址:https://www.cnblogs.com/hanframe/p/3581884.html