需求
编写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
标签:返回,index,HEX,num,数组,nickname,Bash,字典 From: https://www.cnblogs.com/azureology/p/18463706