加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Bash中的多维数组

发布时间:2020-12-15 20:00:54 所属栏目:安全 来源:网络整理
导读:我计划一个脚本来管理我的一些Linux系统,并决定是否使用 bash或 python。 我宁愿这样做一个Bash脚本只是因为命令更容易,但真正的决定因素是配置。我需要能够在配置文件中存储一个多维数组来告诉脚本自己做什么。使用bash存储配置文件中的简单key =值对是很
我计划一个脚本来管理我的一些Linux系统,并决定是否使用 bash或 python。

我宁愿这样做一个Bash脚本只是因为命令更容易,但真正的决定因素是配置。我需要能够在配置文件中存储一个多维数组来告诉脚本自己做什么。使用bash存储配置文件中的简单key =值对是很容易的,但是我可以想到做一个多维数组的唯一方法是两层解析引擎,

array=&d1|v1;v2;v3&d2|v1;v2;v3

但是marshall / unmarshall代码可以成为一个熊,它远离用户友好为下一个差的sap,必须管理这个。如果我不能这样做很容易在bash我将简单地写入配置到一个xml文件,并写在python脚本。

有一个简单的方法来做到这一点在bash?

感谢大家。

Bash不支持多维数组,也不支持散列,似乎你想要的值是数组的哈希。这个解决方案不是很漂亮,带有xml文件的解决方案应该更好:
array=('d1=(v1 v2 v3)' 'd2=(v1 v2 v3)')
for elt in "${array[@]}";do eval $elt;done
echo "d1 ${#d1[@]} ${d1[@]}"
echo "d2 ${#d2[@]} ${d2[@]}"

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读