数组用括号包裹元素,各元素间用空格分隔,语法如下:array=(vau1 vau2 vau3...vaun),索引下标从0开始。
索引定义数组如下:
array[0]=vau1
array[1]=vau2
......
array[n]=vaun
1.调用数组元素
${array[index]}
例1:
myarray=("bb" "cc" "dd")
echo ${myarray[0]}
->bb
2.调用整个数组
使用@或*获取数组所有元素,格式${array[*]}或${array[@]}
例2:
myarray=("bb" "cc" "dd")
myarray[3]="ee"
echo ${myarray[*]}
->bb cc dd ee
3.获取数组所有元素的个数
获取数组长度方法与获取字符串长度方法相同
${#array[@]}或${#array[*]}
例3:
myarray=("bb" "cc" "dd")
echo ${#myarray[*]}
->3
4.数组末尾追加新元素
array[${#array[*]}]=new_value
5.清除数组单个元素
unset array[index]
例4:
myarray=("aa" "bb" "cc")
unset myarray[0]
echo ${#myarray[*]}
->2
删除整个数组
unset array
6.数组切片
${array[@]:offset:number}
offset表示要跳过的元素个数;
number表示要取多少元素,没明确指出,则取剩余所有;
例5:
echo ${array[*]}
echo ${array[*]:2:1}
—>1 2 3 4
—>3