shell数组支持一维数组不支持多维数组,不限定数组的大小,跟其他语言一样从0开始计数
定义数组
shell中数组的格式为,用小括号包围,内部每个值用空格隔开
#格式1
array_name=(value0 value1 value2)
#格式2
array_name=(
value0
value1
value2
)
#格式3:单独定义每个元素值
array_name[0]=value0
array_name[1]=value1
array_name[2]=value2
读取数组
pet=(cat dog fish)
echo ${pet[0]} #下标找出下标的值
echo ${pet[@]} # @符号找出所有
执行脚本输出:
cat
cat dog fish
获取数组长度
pet=(cat dog fish)
echo ${#pet[@]} #获取所有的元素的个数.总共3个元素
echo ${#pet[*]} #同上
echo ${#pet[2]} #获取索引位置2元素的字段长度,本例索引位置2的元素是fish,字符长度为4
执行脚本输出:
3
3
4