寻求有关使用命令编写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
以了解其工作原理。