【发布时间】:2019-04-11 20:31:04
【问题描述】:
我已将函数的输出读入变量。
数据是这样的
---
data:
pkg:
-
NAME: 'bob'
FEATURE: Big
-
NAME: 'sue'
FEATURE: Tall
-
NAME: 'jim'
FEATURE: Slim
我看到了遍历数组的示例。 这些示例总是手动创建数组。
有没有办法将散列转换为数组?我怎么做?或者我可以用这种形式处理吗?
我想回应每个 pkg 的 FEATURE。
【问题讨论】:
-
你没有见过像
arrayName[$key]=$value这样动态创建数组元素的例子吗? -
为什么你认为你需要一个多维数组? Bash 没有。
-
好吧,如果你真的需要bash中的数据结构,你必须“模拟”多维数组。如果我需要
echoYML 中某个字典键的所有值,我会使用grep和sed。 -
您应该切换到具有真正 YAML 解析器的语言;
grep和sed是不够的。 -
使用yq 可能很简单。
标签: bash shell for-loop multidimensional-array