在Bash中解析嵌套配置的简单解决方案?

时间:2013-06-25 14:14:22

标签: bash parsing configuration

我希望在Bash中解析嵌套配置,如下所示:

[foo]
   [bar]
      key="value"
   [baz]
      key="value"

我尝试了this .ini解析器,但它不支持嵌套。后来我发现在.ini文件中嵌套isn't allowed

我为bash搜索了一个YAML解析器,但是找不到很多东西。在bash中嵌套配置解析在我看来是一个基本问题,所以我想一个简单的解决方案存在,但我找不到一个。是否存在用于解析Bash中嵌套配置的重要解决方案?如果是,哪一个?

修改

我想编写一个脚本/程序来自动备份和恢复数据库。配置需要灵活,以便我可以选择不同主机上的数据库,具有不同的用户和密码以及不同的备份间隔。哦,我想学习bash。但我开始认为Bash不是解决我问题的正确工具。

2 个答案:

答案 0 :(得分:2)

Bash不适合这种语言。与Python和Ruby等语言相比,no nested arraysdynamic 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。