我怎样才能将jq字符串分成几行,这是为了排长队,当我把" \"查询中断。
vpcExists=$(aws ec2 describe-vpcs --profile $profile | jq -r --arg vpcId "$vpcId" '.[][] | \
select(.VpcId == $vpcId) \
| .["State"]' \
)
答案 0 :(得分:7)
jq
对于文字换行符很好,所以只需在任何地方添加换行符而不试图转义它们:
vpcExists=$(aws ec2 describe-vpcs --profile $profile |
jq -r --arg vpcId "$vpcId" '
.[][]
| select(.VpcId == $vpcId)
| .["State"]'
)
这是一个MCVE:
jq -r --arg vpcId "someId" '
.[][]
| select(.VpcId == $vpcId)
| .["State"]' << 'EOF'
{ "Vpcs": [ {
"VpcId": "someId",
"InstanceTenancy": "default",
"State": "available",
"IsDefault": false
} ] }
EOF