Я написал скрипт для создания ресурса sqs в локальном стеке. Я хотел передать значение, которое я получаю от одной команды cli, к другой, но внутри встроенного json. Ниже приведен раздел рассматриваемого сценария.
arn=$(aws --endpoint-url=http://localhost:4576 sqs get-queue-attributes \
--queue-url http://localhost:4576/my_dead_letter_queue_url \
--query 'Attributes.QueueArn' \
--output text)
aws --endpoint-url=http://localhost:4576 sqs create-queue \
--queue-name my_queue \
--attributes \
'{"RedrivePolicy":"{\"deadLetterTargetArn\":\"$arn\", \"maxReceiveCount\":\"5\"}"}'
Итак, я пытаюсь передать эту переменную «arn», но cli принимает ее как строку и пытается найти sqs с URL-адресом «$arn» и терпит неудачу. Я также попытался удалить цитату. В этом случае ошибка представляет собой искаженную строку.
Вместо переменной arn, если я использую значение arn в качестве строки, это работает.
Может кто-нибудь показать мне, как передать эту переменную внутри этого встроенного json, если это возможно?
Спасибо за чтение :)
Шахед
$arn
не расширяется при заключении в одинарные кавычки.) - person Eric Bolinger   schedule 11.04.2020