簡體   English   中英

如何使用嵌套的 AWS CLI 命令語法?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM