Linux shell 中的关联数组
2017-08-27 23:03
441 查看
Linux shell中的关联数组
关联数组是这样的数组,它的每个数据元素与一个键相对配对,该键用于识别数据元素。由于散列函数用来创建关联数组中的指定元素,并在关联数组中查找指定元素,因此关联数组通常称为散列。
比如想设置一个数组,名为age,根据人名可以查找对应的年龄
LiLei 28
HanMeimei 27
Lily 26
Lucy 26
声明之后,可以用两种方法将元素添加到关联数组中。
--利用内嵌“索引-值”列表的方法,提供一个“索引-值”列表:
$ 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
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
关联数组是这样的数组,它的每个数据元素与一个键相对配对,该键用于识别数据元素。由于散列函数用来创建关联数组中的指定元素,并在关联数组中查找指定元素,因此关联数组通常称为散列。
比如想设置一个数组,名为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 shell 关联数组 hash
- Linux shell 中的数组和关联数组
- linux shell 关联数组 hash
- linux shell 关联数组 hash
- php 关联数组的下标读取
- 指针与数组关联导致的一些现象
- C++关联数组
- PHP:遍历关联数组的方法介绍
- JavaScript高级 面向对象(11)--对象的动态特性-关联数组用法
- JavaScript基础(基本语法:变量、语句、数组、函数、对象、全局方法以及js与java不同,js与html关联)
- bash shell关联数组提高查找效率
- 关联数组
- 指针与数组关联导致的一些现象
- 遍历关联数组 index by varchar2
- linux shell 动态生成 数组系列 seq使用技巧
- php 获取关联数组的第一个key
- linux shell 数组建立及使用技巧
- linux shell 创建序列数组(list,array)方法
- 脚本乐园 linux shell 数组建立及使用技巧
- php将二维关联数组转换成字符串