如何在变量中保存AWS CLI的输出?

时间:2018-05-25 16:19:34

标签: amazon-web-services aws-cli

我想在一个变量中保存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时,它是空的。

任何帮助都将不胜感激。

2 个答案:

答案 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"