如何生成;for loop";在YAML文件中
假设我们有以下YAML如何生成;for loop";在YAML文件中,yaml,Yaml,假设我们有以下YAML a: - s1: p - s2: p - s3: p - s4: p 是否有使用for循环生成此YAML文件的语法 比如: 编写脚本是实现这一点的一种方法。这是否可行 YAML是一种人类可读的数据序列化语言。通常 用于配置文件,但可用于许多应用程序 存储或传输数据的位置 维基百科 在它上面循环是一个非常容易的任务,你可以用任何编程语言来实现 例如,您可以在bash中执行以下操作: enum="s1 s2 s3 s4" cat <<EOF&g
a:
- s1: p
- s2: p
- s3: p
- s4: p
是否有使用for循环生成此YAML文件的语法
比如:
编写脚本是实现这一点的一种方法。这是否可行
YAML是一种人类可读的数据序列化语言。通常
用于配置文件,但可用于许多应用程序
存储或传输数据的位置
维基百科
在它上面循环是一个非常容易的任务,你可以用任何编程语言来实现
例如,您可以在bash中执行以下操作:
enum="s1 s2 s3 s4"
cat <<EOF> test.yml
a:
`for t in $enum; do echo " -${t}:p"; done`
EOF
enum=“s1 s2 s3 s4”
cat没有办法按照您计划的方式缩短YAML文件
解决方案应该是一个脚本,它解释文件并以您喜欢的方式将其缩短,这只能用于可读性。我相信您正在azure devops中尝试类似yaml模板的内容:
尝试以下方法:
${{each img in parameters.images}}:
${{img.key}}:
但在我的例子中,以这种方式生成的yaml将变得非常长,并失去可读性。我认为用这种方法缩短yaml是一种方法。我明白你的意思。不幸的是,YAML并没有做到这一点。您应该找到一个替代解决方案,例如生成产品YAML的模板。YAML中没有任何东西可以做到这一点,但有许多程序使用一些模板系统(例如jinja2
)扩展到YAML。因此,您应该为正在使用的编程语言研究一个模板系统。顺便说一句,如果您选择代码块并按Ctrl+K缩进整个代码块,而不是在代码块周围加上反引号,则代码块/YAML的外观会更好(对于内联代码块,这些代码块更好)
${{each img in parameters.images}}:
${{img.key}}: