javascript在循环中传递变量
我给变量StackName分配了20个值。我想逐个删除通过循环的所有20个值。我试过了,但是这个同时打印了所有的值javascript在循环中传递变量,javascript,amazon-cloudformation,aws-cli,Javascript,Amazon Cloudformation,Aws Cli,我给变量StackName分配了20个值。我想逐个删除通过循环的所有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 ${!StackN
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
有人能帮忙吗?你可以使用aws--query而不是所有的sed
aws cloudformation list-stacks --query StackSummaries[].StackName --output text
它应该打印所有堆栈名称,它们之间有空格,这应该符合输入要求,因此您可以执行以下操作:
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}
,那么您的原始代码可能也可以工作。欢迎使用堆栈溢出!请拿起,四处看看,并通读,特别有用的地方是开始标记正确的语言。