我想在一个变量中保存AWS CLI的输出,并在另一个AWS CLI中使用该变量,我所做的如下:
taskarn= aws ecs list-tasks --cluster mycluster --service-name "myService" --region "eu-west-1" --output text | grep "arn" | tr -d '"'
echo $taskarn; //empty
aws ecs stop-task --cluster mycluster --task $taskarn --region "eu-west-1"
当我回复$ taskarn时,它是空的。
任何帮助都将不胜感激。
答案 0 :(得分:1)
使用反引号执行命令并将结果分配给变量。
taskarn=`aws ecs list-tasks --cluster mycluster --service-name "myService" --region "eu-west-1" --output text | grep "arn" | tr -d '"'`
但正确的方法是使用CLI的--query
选项来提取您想要的内容。
答案 1 :(得分:0)
我使用了以下命令,它运行正常:
taskarn=$(aws ecs list-tasks --cluster mycluster --service-name "myservice" --region "eu-west-1" | grep "arn" | tr -d '"')
echo $taskarn;
aws ecs stop-task --cluster mycluster --task $taskarn --region "eu-west-1"