Shell中的关联数组

在Bash中,普通的数组是下标数组,其元素是通过数组下标(小表是一个整数)来访问的,但是这种访问方式在表达某些关联性很强的数据时不太翻遍。

其实Bash也提供了关联数组(associative array)的支持。关联数组可以使用任意的字符串作为下标(不必是整数)来访问数组元素。关联数组的下标和值称为键值对,它们是一一对应的关系;其实就类似于Python中的字典。在关联数组中,键是唯一的,值可以不唯一。

定义关联数组
Bash中关联数组和下标数组在定义和使用上完全一样,只是在索引上有区别。
需要注意的是,在使用关联数组之前,需要使用命令 **declare -A array ** 进行声明。

关联数组的操作语法和下表数组完全一致,几个常见的操作如下:

实际使用关联数组的一个例子,如下:
其功能是下载几个文件并且检查它们的MD5值;用关联数组来保存文件名称与其MD5的关系。

另外,关于shell中的数组,几年前也总结过一次:http://smilejay.cn/2016/04/array-in-bash/

master

Stay hungry, stay foolish.

发表评论

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

*