1-7数组和关联数组

1.7数组和关联数组

数组允许脚本利用索引将数据集合保存为独立的条目。

  • 普通数组(int->数据)

  • 关联数组(即map 字符串->数据)

1.7.1 预备知识

Bash4.0开始支持关联数组。

1.7.2 实战演练

定义普通数组的方式有很多种

1.单行定义
array_var=(test1 test2 test3 test4 test5)
#这些值会存储在以0为起始索引的连续位置上
2.键值对定义
array_var[0]="test1"
array_var[1]="test2"
array_var[2]="test3"
array_var[3]="test4"
array_var[4]="test5"
3.打印特定索引的元素内容
echo ${array_var[0]}

index=5
echo ${array_var[index]}
4.打印整个数组
echo ${array_var[*]}
#or
echo ${array_var[@]}
5.打印数组长度
echo ${#array_var[*]}

1.7.3 补充内容

1.定义关联数组

首先,需要使用声明语句将一个变量定义为关联数组:

declare -A ass_array	#声明ass_array为关联数组

添加元素

ass_array=([index1]=val1 [index2]=val2)		#使用行内“索引-值”列表

ass_array[index1]=val1 #使用独立的“索引-值”
ass_array[index2]=val2
2.列出数组索引
echo ${!ass_array[*]}
3.使用数组元素
echo "Apple costs ${fruit_value[apple]}"