Shell中map的使用
2020-04-24 11:23 方斌 阅读(1598) 评论(0) 编辑 收藏 举报Shell中的map与array有很多的相似之处,array操作:https://www.cnblogs.com/qq931399960/p/10786111.html
一、在使用map时,需要先声明,否则结果可能与预期不同,array可以不声明
declare -A map
二、初始化map
与array类似,可以使用括号直接初始化,也可以通过添加的方式来初始化数据,与array不同的是,括号直接初始化时使用的为一个键值对,添加元素时,下标可以不是整数
map=(["aa"]="11" ["bb"]="22")
map["name"]="val"
map["apple"]="pen"
三、输出所有的key
若未使用declare声明map,则此处将输出0,与预期输出不符,此处输出语句格式比arry多了一个!
echo ${!map[@]}
四、输出所有value
与array输出格式相同
echo ${map[@]}
五、输出map长度
与array输出格式相同
echo ${#map[@]}
六、遍历,根据key找到对应的value
for key in ${!map[*]};do
echo ${map[$key]}
done
七、遍历所有的key
for key in ${!map[@]};do
echo $key
done
八、遍历所有的value
for val in ${map[@]};do
echo $val
done
如上,可以发现,map与arry有很多的相似之处,在存储上两者最大的区别可能是array的key只能为整数,而map的key则可以为任何值
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)