数组
数组定义
arr[0]=val0
arr[1]=val1
arr=(val0 val1)
#或
arr=(
'val1'
"val2"
)
arr=([0]=val0 [1]=val1)
数组使用
- 与其他编程语言一样,使用变量后跟方括号去变量的值,但是需要使用
${arr[index]}形式,否则会将方括号前当作一个普通非数组变量的字符串,只会输出第一个元素和方括号字符串,当然普通变量也可以放到该包裹中使用
- 下标从0开始
- 像js一样可以跳格赋值,空位是空字符串
- 若想根据数组元素的值获取索引下标则使用
${!arr[val]}的形式即可
- 若取出所有变量则方括号中是
*号,如arr[*]
- 数组的长度(数组的元素个数):
${#arr[*]}
数组操作
- 截取子数组:
${arr[*]:start:length}
arr:是要截取的数组,先将所有元素取出来
index:开始截取的下标位置,负数代表倒数
legth:截取的长度,负数会倒着截取,省略会截取到字符串结尾
- 合并数组:
arr1+=arr2,将arr2中的元素复制一份到arr1中
- 删除数组元素:可以使用
unset 删除数组元素,这与给变量赋值为空字符串是相同的效果
Comments NOTHING