Я использую awscli и пытаюсь получить значение IpAddress из вывода моего запроса.
Я пытался использовать jq , но получаю ошибку компиляции.
Это тот случай:
output="$(aws efs describe-mount-targets --file-system-id fs-089b5e31)"
echo $output
{ "MountTargets": [ { "MountTargetId": "fsmt-bb29e666", "IpAddress": "172.20.33.255", "OwnerId": "668225551666", "SubnetId": "subnet-0b61377039d31e666", "NetworkInterfaceId": "eni-045f6ea1376662bdf", "FileSystemId": "fs-089b5e66", "LifeCycleState": "available" } ] }
И это команда, которую я использую для получения IpAddress:
echo array | jq '.[]MountTarget[]s.IpAddress'
Я получаю следующую ошибку:
parse error: Invalid numeric literal at line 2, column 0
ubuntu@ip-10-10-16-245:~/infra-devops/kops/vector$ echo array | jq '.[]MountTarget[]s.IpAddress'
jq: error: syntax error, unexpected IDENT, expecting $end (Unix shell quoting issues?) at <top-level>, line 1:
.[]MountTarget[]s.IpAddress
jq: 1 compile error
Является ли мой запрос проблемой или, может быть, мне лучше использовать sed?