bash遍历哈希表

时间:2019-04-11 20:31:04

标签: bash shell for-loop multidimensional-array

我已将函数的输出读取为变量。

数据看起来像这样

---
data:
  pkg:
    -
      NAME: 'bob'
      FEATURE: Big
    -
      NAME: 'sue'
      FEATURE: Tall
    -
      NAME: 'jim'
      FEATURE: Slim

我看到了遍历数组的示例。 这些示例总是手动创建数组。

有没有一种方法可以将哈希转换为数组?我怎么做?还是可以用这种形式处理它?<​​/ p>

我想回应每个pkg的功能。

1 个答案:

答案 0 :(得分:0)

您的示例中的yaml表示字典数组。 Bash不会做任何类型的多维数组。

但是,您可以通过将数据解析为 parallel 数组来模拟结果,以便${name[0]}的{​​{1}}的零索引与bob相对应${feature[0]}中的。

真正的问题是手动分析YAML,我不建议这样做。

如果您真的需要深入研究,请查看this discussion,其中有一些选择。