Linux shell Map详解 发表于 2021-03-19 更新于 2022-03-09 分类于 Linux 阅读次数: 本文字数: 894 阅读时长 ≈ 1 分钟声明在使用map时,需要先声明,否则结果可能与预期不同,array可以不声明。方式112declare -A myMapmyMap["my03"]="03"方式21declare -A myMap=(["my01"]="01" ["my02"]="02")初始化与array类似,可以使用括号直接初始化,也可以通过添加的方式来初始化数据,与array不同的是,括号直接初始化时使用的为一个键值对,添加元素时,下标可以不是整数。12myMap["my03"]="03"myMap["my04"]="04"删除12d_key='my03'unset mymap[$d_key]使用方式输出所有的key、value、长度1234567891011# 1)输出所有的key#若未使用declare声明map,则此处将输出0,与预期输出不符,此处输出语句格式比arry多了一个!echo ${!myMap[@]}#2)输出所有value#与array输出格式相同echo ${myMap[@]}#3)输出map长度#与array输出格式相同echo ${#myMap[@]}遍历12345678910111213141516#1)遍历,根据key找到对应的valuefor key in ${!myMap[*]};do echo $key echo ${myMap[$key]}done#2)遍历所有的keyfor key in ${!myMap[@]};do echo $key echo ${myMap[$key]}done#3)遍历所有的valuefor val in ${myMap[@]};do echo $valdone参考资料Linux Shell Map的用法详解