我有这个kubectl命令,它提供以下输出。我需要知道如何将输出存储在数组中,以便可以遍历每个输出,并进一步在资源上发出gcloud命令。
kubectl get ingress test-load-balancer -o jsonpath='{.metadata.annotations.ingress\.kubernetes\.io/backends}'| jq -r 'keys'
[
"k8s-be-30423--12305b0f030d5a48",
"k8s-be-31245--10023b0f030d5a48"
]
但是,现在我需要在bash脚本中为这些k8s-xx资源运行单独的命令。我尝试了以下操作,但没有将输出保存在数组中
read BACKEND_SERVICES<<<$(kubectl get ingress cysiv-load-balancer -o \
jsonpath='{.metadata.annotations.ingress\.kubernetes\.io/backends}'| jq -r 'keys')
提前谢谢
答案 0 :(得分:1)
我认为您的密钥不包含空格。
array=($(kubectl ... | jq -r 'keys[]'))
declare -p array