第1章-小试牛刀(06数组与关联数组)
2019-02-27 本文已影响0人
昨天剩下的一杯冷茶
1.7.2实战演练
定义数组的方法有很多种。
(1)可以在单行中使用数值列表来定义一个数组:
array_var=(test1 test2 test3 test4)
这些值将会存储在以0为起始索引的连续位置上
另外,还可以将数组定义成一组“索引-值”:
array_var[0]="test1"
array_var[1]="test2"
array_var[2]="test3"
array_var[3]="test4"
array_var[4]="test5"
array_var[5]="test6"
(2)打印出特定索引的数组元素内容:
image.png
(3)以列表形式打印出数组中的所有值:
image.png
(4)打印数组长度(即数组中元素的个数):
image.png
1.7.3补充内容
关联数组从Bash 4.0版本开始被引入。当使用字符串(站点名、用户名、非顺序数字等)作为索引时,关联数组要比数字索引数组更容易使用。
1、 定义关联数组
在关联数组中,我们可以用任意的文本作为数组索引。首先,需要使用声明语句将一个变量定义为关联数组:
declare -A ass_array
声明之后,可以用下列两种方式将元素添加到关联数组中。
使用行内 “索引-值”列表:
ass_array=([index1]=val1 [index2]=val2)
使用独立的"索引-值" 进行赋值:
ass_array[index1]=val1
ass_array[index2]=val2
举个例子,试想如何用关联数组为水果制定价格:
image.png
2、列出数组索引
每一个数组元素都有对应的索引。普通数组和关联数组的索引类型不同。我们可以用下面的方法获取数组的索引列表:
image.png