数组是shell脚本中非常重要的组成部分,可以将多个独立的数据存储为一个结合

Bash支持的数组有普通数组和关联数组,可以使用整数作为数组索引,在关联数组中可以使用字符串作为数组索引

对于定义一个数组,使用的方式可以如下

array_var=(1 2 3 4 5 6)

然后,还可以将数组定义为一组索引-值

array_var[0]=”test1″

array_var[1]=”test2″

array_var[2]=”test3″

array_var[3]=”test4″

array_var[4]=”test5″

获得索引数组中的数据方式如下

echo ${array_var[0]}

index=4

echo ${array_var[$index]}

获取到数组中所有的值

echo ${array_var[*]}

同理的

echo ${array_var[@]}

获取数组的长度

$ echo ${#array_var[*]}

关联数组

关联数组是很多问题的强有力解决工具

定义关联数组在关联数组中,我们可以使用任意的文本作为数组索引,在普通数组中,只能用整数来作为索引,首先使用单独的声明语句声明一个变量名作为关联数组的数组名

$declare -A ass_array

然后有两种添加的方式

1.内嵌索引-值列表

2.单独的索引-值的方式来进行赋值

ass_array=([index1]=var1 [index2]=var2)

使用单独的索引-值进行赋值

ass_array[index1]=val1

ass_array[index2]=val2

通过上面的例子,我们来用关联数组来为水果制订价格

declare -A fruilts_value

fruit_vlaue=([apple]=’100dollars’ [oragnge]=’150dollars’)

然后获取数组的信息

echo “Apple costs

{fruits_value[apple]}”

获得关联数组的索引

每一个数组的元素都有一个索引用于查找,获取所有的索引的方式如下

echo ${!array_var[*]}

获取length和value的方式如同普通数组

发表评论

邮箱地址不会被公开。 必填项已用*标注