使用 yq 版本 4 更新 yaml 文件

update yaml file with yq version 4

我在 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),知道吗?

yq v4 中,您可以使用当前环境中的 env() function to lookup 值。但这意味着名称的值必须在本地传递给 yq 调用

name="FOO" yq eval '.metadata.name = env(name)' dep.yaml