下面是在bash上运行的两个不同的AWS CLI命令:
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"
在第二指挥部?