我正在尝试将新条目附加到以下 yaml:
destinations:
- namespace: ns1
server: https://kubernetes.default.svc
我期望的是:
destinations:
- namespace: ns1
server: https://kubernetes.default.svc
- namespace: ns2
server: https://kubernetes.default.svc-
- namespace: ns3
server: https://kubernetes.default.svc
我可以得到的是,如果我喜欢这个
yq -i '.spec.destinations += [{"namespace": "zi-test-customer", "server": "https://kubernetes.default.svc"},{"namespace": "zi-test-customer2", "server": "https://kubernetes.default.svc"}]' file.yaml
但如果我从环境变量中获取列表,我会得到错误的列表
我得到的是:
destinations:
- namespace: ns1
server: https://kubernetes.default.svc
- {"namespace": "ns2", "server": "https://kubernetes.default.svc"}
- {"namespace": "ns3", "server": "https://kubernetes.default.svc"}
如果我这样做
NS=[{"namespace": "ns2", "server": "https://kubernetes.default.svc"},{"namespace": "ns3", "server": "https://kubernetes.default.svc"}]
yq -i '.spec.destinations += env(NS)' file.yaml
如何正确地从环境变量中提取值?