我希望在Bash中解析嵌套配置,如下所示:
[foo]
[bar]
key="value"
[baz]
key="value"
我尝试了this .ini解析器,但它不支持嵌套。后来我发现在.ini文件中嵌套isn't allowed。
我为bash搜索了一个YAML解析器,但是找不到很多东西。在bash中嵌套配置解析在我看来是一个基本问题,所以我想一个简单的解决方案存在,但我找不到一个。是否存在用于解析Bash中嵌套配置的重要解决方案?如果是,哪一个?
修改
我想编写一个脚本/程序来自动备份和恢复数据库。配置需要灵活,以便我可以选择不同主机上的数据库,具有不同的用户和密码以及不同的备份间隔。哦,我想学习bash。但我开始认为Bash不是解决我问题的正确工具。
答案 0 :(得分:2)
Bash不适合这种语言。与Python和Ruby等语言相比,no nested arrays和dynamic variable assignment有点像雷场。也就是说,听起来你自己指定格式和解析器,所以你可以简单地为你的配置使用分层命名方案:
foo_bar_key="value"
foo_baz_key="value"
答案 1 :(得分:0)
我写了Yamlesque parser来回复this similar question。
它会解析
foo:
bar:
key: value
baz:
key: value
进入bash关联数组。 100%Bash,但它必须是Bash 4.x。