我在 yq version 3
中使用了以下命令,效果很好
yq w -i dep.yaml 'metadata.name' $(name)
name
是来自 makefile 的参数
现在我已经安装了第 4 版,但它停止工作了
我尝试过这里的一些东西
https://mikefarah.gitbook.io/yq/upgrading-from-v3
yq eval '.metadata.name = $(name)' dep.yaml
但它不起作用,因为我不确定如何正确传递参数 $(name)
,知道吗?
答案 0 :(得分:2)
在 yq
v4 中,您可以使用当前环境中的 env()
function to lookup 值。但这意味着 name 的值必须在本地传递给 yq 调用
name="FOO" yq eval '.metadata.name = env(name)' dep.yaml