Bash脚本中的For循环变量



我试图执行这个脚本作为bash test.sh

#!/bin/bash
for region in "aws ec2 describe-regions --output text | cut -f4";
do 
echo -e "nListing Instances in region:'$region'...";
aws ec2 describe-instances --region $region;
done

但是我从$region得到的唯一输出是命令的打印。所以它说列出实例aws ec2 description -regions ..">

如何解决这个问题?

您不是在执行命令;你正在迭代一个只包含一个元素的序列,字符串aws ec2 ...

您需要一个命令替换来实际执行命令:

for region in $(aws ec2 describe-regions --output text | cut -f4); do
echo -e ...
aws ec2 describe-instances --region "$region"
done