【问题标题】:javascript passing variable in loopjavascript在循环中传递变量
【发布时间】:2018-05-07 17:08:32
【问题描述】:

我有 20 个值分配给变量 StackName。我想通过一个循环一个一个地删除所有20个值。我试过了,但这但同时打印了所有的值。

StackName=$(aws cloudformation list-stacks | grep StackName | awk '{FS=" "} {print $2}' | sed "s/\"//g" | sed 's/,//g')

echo "Stack names to be deleted are: ${StackName}" 

for i in ${!StackName[@]} ;

do

  echo "Deleting stack ${StackName}"

    aws cloudformation delete-stack --stack-name ${StackName}

done

有人可以帮忙吗?

【问题讨论】:

标签: javascript amazon-cloudformation aws-cli


【解决方案1】:

您可以使用aws --query 代替所有sed

aws cloudformation list-stacks --query StackSummaries[].StackName --output text

它应该打印所有堆栈名称,它们之间有空格,应该符合for 输入要求,所以你可以这样做:

for stack in `aws cloudformation list-stacks --query StackSummaries[].StackName --output text`; do
  echo "Deleting stack ${stack}"
  aws cloudformation delete-stack --stack-name ${stack}
done

如果您在循环中使用 ${i} 而不是包含所有堆栈名称的 ${StackName},您的原始代码也可能会工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-11
    • 1970-01-01
    • 1970-01-01
    • 2017-04-01
    • 2013-06-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多