Bash数组与字典使用

需求#

编写bash脚本希望用到更加灵活的数据格式。

数组#

使用index索引,直接调用返回第一个元素,支持-1检索,不存在的index返回空。
举例:将十进制数转换为十六进制。

declare -a HEX # 可以省略
HEX=(0 1 2 3 4 5 6 7 8 9 A B C D E F)
echo ${HEX[15]} # F

字典

使用key索引,直接调用返回空,不支持index索引,不存在的key返回空。
据例:根据编号查找名称,不存在则返回编号。

declare -A nickname # 不能省略
nickname=(
  ['1-1']="张三"
  ['1-2']="李四"
  ['2-1']="王五"
)
name=${nickname[$num]}
name=${name:-$num} # 查不到直接返回num

参考

dictionary - How to define hash tables in Bash? - Stack Overflow

posted @   azureology  阅读(15)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
历史上的今天:
2020-10-14 Docker容器文件系统位置
点击右上角即可分享
微信分享提示
主题色彩