使用yq version4更新yaml文件

use yq version4 to update yaml file

我有以下适用于 yq 3 的代码,当我尝试升级到 yq4 时失败了

这适用于 yq3 yq w -i dep.yaml 'spec.spec.image' $(MY_VAL)

在 yq4 上我收到了它不知道的错误 w我怎样才能让它工作 我没有找到任何对我的案例有帮助的匹配示例

https://mikefarah.gitbook.io/yq/upgrading-from-v3

看看 migration guide 的 'Updating / writing documents' 部分。

以下命令应该适用于 yq 版本 4 的任务:

dep.yaml执行前

a:
  b: 1
spec:
  spec:
    image: image_old.jpg
c:
  d: 2

MY_VAL="image_new.jpg" yq -i e '.spec.spec.image = strenv(MY_VAL)' dep.yaml

dep.yaml执行后

a:
  b: 1
spec:
  spec:
    image: image_new.jpg
c:
  d: 2