Ниже представлены две различные команды CLI AWS, работающие на bash:
IMAGES_TO_DELETE=$( aws ecr list-images --region $ECR_REGION --repository-name $ECR_REPO --filter "tagStatus=UNTAGGED" --query 'imageIds[*]' --output json )
aws ecr batch-delete-image --region $ECR_REGION --repository-name $ECR_REPO --image-ids "$IMAGES_TO_DELETE" || true
, где первая команда сохраняет JSON формат [ {"imageDigest": "sha256:..."}, {"imageDigest": "sha256:..."}, ... ]
в IMAGES_TO_DELETE
В сценарии, где я могу запустить одну вложенную команду:
aws ecr batch-delete-image --region us-west-2 --repository-name "somedockerimage" --image-ids “$(aws ecr list-images --region us-west-2 --repository-name "somedockerimage" --filter "tagStatus=UNTAGGED" --query 'imageIds[*]' --output text)” || true
выдает ошибку:
Error parsing parameter '--image-ids': Expected: '=', received: '“' for input:
“sha256:cccccccccc983f4185f48fb968634dae8c4276ee1a7ffffffffffffff
^
aws ecr batch-delete-image --region us-west-2 --repository-name "somedockerimage" --image-ids “$(aws ecr list-images --region us-west-2 --repository-name "somedockerimage" --filter "tagStatus=UNTAGGED" --query 'imageIds[*]' --output json)” || true
выдает ошибку:
Error parsing parameter '--image-ids': Expected: '=', received: '“' for input:
“[
^
Каков вложенный синтаксис для замены "$IMAGES_TO_DELETE"
во второй команде?