在循环打击时使用多个变量



寻求有关使用命令编写bash脚本的帮助,该命令调用多个变量,其中每个变量都包含需要运行文件的文本列表

这是我的例子。

文件1.txt:

USA
EU
Asia
SouthAmerica

文件2.txt:

user1
user2
user3
user4

var1=$(cat file1.txt)
var2=$(cat file2.txt)
echo $var1
USA EU Asia SouthAmerica
echo $var2
user1 user2 user3 user4

我需要的是

while read var1 var2;
do
   *command* --region $var1 --profile $var2 *do something*;
done | tee -a $var2.txt

如何让一个命令循环访问var1的内容,并var2产生我需要的结果?

为什么不直接使用几个 for 循环:

var1=$(cat file1.txt)
var2=$(cat file2.txt)
for i in ${var1} ; do
  for x in ${var2} ; do
    *command* --region ${i} --profile ${x} *do something*
  done
done
目前

还不清楚你想要实现什么。如果要为每个区域中的每个用户执行命令,可以使用两个嵌套的 while 循环:

while read -r region ; do
    while read -r user ; do
        command --region "${region}" --profile "${user}"
    done < users.txt
done < regions.txt

顺便说一句,内置read的工作方式与您可能假设的不同。查看help read以了解其工作原理。

相关内容

  • 没有找到相关文章

最新更新