解析 AWS CLI 命令
Parsing AWS CLI commands
我想解析 AWS CLI 命令的输出
aws ec2 describe-transit-gateways
从上面,我想要得到的输出是作为标记示例给出的中转网关的名称:("Name": "dev-tgw")
我能够从以下脚本中检索 TGW ID 和中转网关所有者
result=`aws ec2 describe-transit-gateways --profile $acc`
for tgw in $(echo "${result}" |jq -r '.TransitGateways[] | @base64'); do
_jq() {
echo ${tgw} | base64 --decode | jq -r
}
Tgw=$(_jq '.TransitGatewayId')
Tgw_owner=$(_jq '.OwnerId')
Tgw_name=$(_jq '.Tags.Name')
echo "$acc.Name"
echo "Transit_Gateway": "$Tgw"
echo "TGW_Owner_ID": "$Tgw_owner"
echo "TGW_name": "$Tgw_name"
但我无法使用
检索 TGW 的名称
Tgw_name=$(_jq '.Tags.Name')
echo "TGW_name": "$Tgw_name"
我错过了什么或者我循环错了吗?
您可以尝试以下版本:
result=$(aws ec2 describe-transit-gateways --profile $acc)
for tgw in $(echo "${result}" | jq -r '.TransitGateways[] | @base64'); do
_jq() {
echo ${tgw} | base64 --decode | jq -r ""
}
Tgw=$(_jq '.TransitGatewayId')
Tgw_owner=$(_jq '.OwnerId')
Tgw_name=$(_jq '.Tags[] | select(.Key == "Name").Value')
echo "$acc.Name"
echo "Transit_Gateway": "$Tgw"
echo "TGW_Owner_ID": "$Tgw_owner"
echo "TGW_name": "$Tgw_name"
done
我想解析 AWS CLI 命令的输出
aws ec2 describe-transit-gateways
从上面,我想要得到的输出是作为标记示例给出的中转网关的名称:("Name": "dev-tgw")
我能够从以下脚本中检索 TGW ID 和中转网关所有者
result=`aws ec2 describe-transit-gateways --profile $acc`
for tgw in $(echo "${result}" |jq -r '.TransitGateways[] | @base64'); do
_jq() {
echo ${tgw} | base64 --decode | jq -r
}
Tgw=$(_jq '.TransitGatewayId')
Tgw_owner=$(_jq '.OwnerId')
Tgw_name=$(_jq '.Tags.Name')
echo "$acc.Name"
echo "Transit_Gateway": "$Tgw"
echo "TGW_Owner_ID": "$Tgw_owner"
echo "TGW_name": "$Tgw_name"
但我无法使用
检索 TGW 的名称 Tgw_name=$(_jq '.Tags.Name')
echo "TGW_name": "$Tgw_name"
我错过了什么或者我循环错了吗?
您可以尝试以下版本:
result=$(aws ec2 describe-transit-gateways --profile $acc)
for tgw in $(echo "${result}" | jq -r '.TransitGateways[] | @base64'); do
_jq() {
echo ${tgw} | base64 --decode | jq -r ""
}
Tgw=$(_jq '.TransitGatewayId')
Tgw_owner=$(_jq '.OwnerId')
Tgw_name=$(_jq '.Tags[] | select(.Key == "Name").Value')
echo "$acc.Name"
echo "Transit_Gateway": "$Tgw"
echo "TGW_Owner_ID": "$Tgw_owner"
echo "TGW_name": "$Tgw_name"
done