访问数组元素

索引 0 处的打印元素

echo "${array[0]}"

Version < 4.3

使用子字符串扩展语法打印最后一个元素

echo "${arr[@]: -1 }"

Version >= 4.3

使用下标语法打印最后一个元素

echo "${array[-1]}"

打印所有元素,每个元素单独引用

echo "${array[@]}"

将所有元素作为单引号字符串打印

echo "${array[*]}"

打印索引 1 中的所有元素,每个元素单独引用

echo "${array[@]:1}"

从索引 1 打印 3 个元素,每个元素单独引用

echo "${array[@]:1:3}"

字符串操作

如果引用单个元素,则允许字符串操作:

array=(zero one two)
echo "${array[0]:0:3}" # gives out zer (chars at position 0, 1 and 2 in the string zero)
echo "${array[0]:1:3}" # gives out ero (chars at position 1, 2 and 3 in the string zero)

所以 ${array[$i]:N:M} 从字符串 ${array[$i]} 中的 Nth 位置(从 0 开始)发出一个字符串,其中 M 跟随 chars。