我有20个值分配给变量StackName。我想通过循环逐个删除所有20个值。我试过但是这个但是同时打印了所有的价值。
select to_char(to_date('1970-01-01 00','yyyy-mm-dd hh24') + (time)/60/60/24
, 'YYYY-MM-DD') datestr,
L.LOGINID,
L.STATUS,
L.TIME,
O.PRESENTATION_NAME,
N_CALLSANSWERED_
from "REP_STAT_DB"."LOGIN" L
join "GCTI_DMART"."O_AGENT_DAY" O on
L.AGENTDBID=O.CONFSERVER_OBJ_ID
join "GCTI_DMART"."R_AGENT_DAY" R on O.OBJECT_ID=R.OBJECT_ID
join "GCTI_DMART"."T_AGENT_DAY" T on T.TIME_KEY=R.TIME_KEY AND
T.BEGIN_TIME=to_char(to_date('1970-01-01 00','yyyy-mm-dd hh24') +
(time)/60/60/24 , 'DD/MM/YY')
where O.DELETE_TIME IS NULL
有人可以帮忙吗?
答案 0 :(得分:0)
您可以使用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}
,原始代码可能也会起作用。