shell中的map使用


原文链接: shell中的map使用

bash 的版本必须 >= 4.1.2,升级bash:

declare -A abc
declare: usage: declare [-afFirtx] [-p] [name[=value] ...]

shell中map的定义与使用

declare -A 变量名 #切记使用大写的A,不是小写的a

[root@www ~]# declare -A map=(["sunjun"]="a" ["jason"]="b" ["lee"]="c") #定义时初始化一些值
[root@www ~]# echo ${map[@]} #输出所有values
a c b
[root@www ~]# echo ${!map[@]} #输出所有keys
sunjun lee jason

[root@www ~]# map["hello"]=123 #向map中添加一个key=value
[root@www ~]# echo ${map[@]}
a c b 123
[root@www ~]# echo ${!map[@]}
sunjun lee jason hello
[root@www ~]#

shell中的数组

[root@www ~]# declare -a array=("aa" "bb" "cc") #定义一个数组
[root@www ~]# echo ${array[@]} #输出所有元素的值
aa bb cc
[root@www ~]# echo ${!array[@]} #输出所有元素的索引
0 1 2

[root@www ~]# array[100]="hello" #指定索引添加一个元素
[root@www ~]# echo ${array[@]}
aa bb cc hello
[root@www ~]# echo ${!array[@]}
0 1 2 100
[root@www ~]#

`