[英]How to use nested AWS CLI command syntax?
以下是在 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
其中第一个命令在IMAGES_TO_DELETE
存储 JSON 格式[ {"imageDigest": "sha256:..."}, {"imageDigest": "sha256:..."}, ... ]
在一个场景中,我可以运行单个嵌套命令:
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"
的嵌套语法是什么?
将智能引号“...”
更改为直引号"..."
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.