[英]why is jq not working inside bash variable
我有以下代碼
#/bin/bash
set -e
set -x
requestResponse=$(ssh jump.gcp.xxxxxxx """source dev2 spi-dev
kubectl get pods -o json | jq '.items[] |select(.metadata.name[0:3]=="fea")' | jq .status.podIP
2>&1""")
echo $requestResponse
在上面的代碼source dev2 spi-dev
意味着我們已經移動到 dev2 集群內的 spi-dev 命名空間。 kubectl get pods -o json | jq '.items[] |select(.metadata.name[0:3]=="fea")' | jq.status.podIP 2>&1""")
kubectl get pods -o json | jq '.items[] |select(.metadata.name[0:3]=="fea")' | jq.status.podIP 2>&1""")
表示打印以 fea 開頭的 pod 的 ip 地址。如果我手動執行 kubectl 命令有效。我也嘗試過 escaping fea like \"fea\"
這些三重引號"""
沒有按您的預期工作。嘗試像這樣更改它:
ssh jump.gcp.xxxxxxx << EOF
source dev2 spi-dev
kubectl get pods -o json | \
jq '.items[] | \
select(.metadata.name[0:3]=="fea")' | \
jq .status.podIP 2>&1
EOF
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.