0

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

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

我试过这个.ini 解析器,但它不支持嵌套。后来我发现.ini 文件中不允许嵌套。

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

编辑

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

4

2 回答 2

2

Bash 不是正确的语言。没有嵌套数组,与Python 和 Ruby 等语言相比,动态变量赋值有点雷区。也就是说,听起来您正在自己指定格式解析器,因此您可以简单地为您的配置使用分层命名方案:

foo_bar_key="value"
foo_baz_key="value"
于 2013-06-25T14:20:58.393 回答
0

我写了一个Yamlesque解析器来回答这个类似的问题

它会解析

foo:
  bar:
    key: value
  baz:
    key: value

进入 bash 关联数组。100% Bash,但它需要是 Bash 4.x。

于 2015-07-30T07:11:27.300 回答