您的位置:首页 > 运维架构 > Shell

Linux shell 中的关联数组

2017-08-27 23:03 441 查看
Linux shell中的关联数组

关联数组是这样的数组,它的每个数据元素与一个键相对配对,该键用于识别数据元素。由于散列函数用来创建关联数组中的指定元素,并在关联数组中查找指定元素,因此关联数组通常称为散列。

比如想设置一个数组,名为age,根据人名可以查找对应的年龄

LiLei 28

HanMeimei 27

Lily 26

Lucy 26

声明

qingsong@db2a:/tmp$ declare -A age

赋值

有两种办法

声明之后,可以用两种方法将元素添加到关联数组中。

--利用内嵌“索引-值”列表的方法,提供一个“索引-值”列表:
$ ass_array=([index1]=val1 [index2]=val2)

--使用独立的“索引-值”进行赋值:
$ ass_array[index1]=val1

$ ass_array'index2]=val2

示例:


qingsong@db2a:/tmp$ age=([Lilei]=28 [HanMeimei]=27)

qingsong@db2a:/tmp$ age[Lily]=26

qingsong@db2a:/tmp$ age[Lucy]=26

根据索引名,查找值

qingsong@db2a:/tmp$ echo "Age of HanMeimei is ${age[HanMeimei]}"

Age of HanMeimei is 27

qingsong@db2a:/tmp$ echo "Age of Lily is ${age[Lily]}"

Age of Lily is 26

获取索引列表

以用下面的方法获取数组的索引列表:
$ echo ${!array_var[*]}

也可以使用:
$ echo ${!array_var[@]

示例:


qingsong@db2a:/tmp$ echo ${!age[@]}

Lilei HanMeimei Lucy Lily

qingsong@db2a:/tmp$ echo ${!age[*]}

Lilei HanMeimei Lucy Lily
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux array 关联数组