定义数组
shell仅支持一维数组。
简单数组:数组元素用"空格"符号分割开:
#数组名=(值1 值2 ... 值n)
my_array=(1 2 3 5 7)
关联数组:
declare -a my_array #声明数组my_array
my_array["name"]="alan"
my_array["id"]=12345
读取数组
${数组名[下标值]}
my_array=(1 2 3 5 7)
#打印索引值为0的元素
echo ${my_array[0]}
#使用 @ 符号可以获取数组中的所有元素
echo ${my_array[@]}
#下标的范围没有限制
echo ${my_array[10]} #不报错,无输出
获取数组的长度
#变量名
my_array=(my name is tom)
echo ${#my_array[@]} #4
#或
echo ${#my_array[*]} #4
#取得数组单个元素的长度
echo ${#my_array[0]} #2
echo ${#my_array[1]} #4
echo ${#my_array[3]} #3
echo ${#my_array[8]} #0