shell map数据结构的实现
前言
Bash默认不支持二维数组,如果我们想实现map 数据结构,可以安装如下的方式来进行构造
预备知识
eval: 它是shell内建命令,用于字符串的解析。它会首先扫描命令行然后进所有的置换,最终再执行该命令。
案例
解析:
#第一步,声明arr 是一个数组,它里面的值由两个表达式组成 arr=( "stu1=(Bob boy 23)" "stu2=(Smith girl 18)" ) #第二步,遍历arr中所有变量的值【也就是获取所有的表达式】,然后用eval 进行解析 for a in "${arr[@]}” do eval ${a} done #第三步,使用解析后的数据 echo ${stu1[0]} #说明: #${arr[@]} :表示获取数组的所有值 #${#arr[@]} :表示获取数组的长度