Bash 在for循环中使用带大括号表达式的多变量

Bash 在for循环中使用带大括号表达式的多变量,bash,for-loop,brace-expansion,Bash,For Loop,Brace Expansion,这很好:- for i in host{1..4} host2{1..4} do echo $i done 现在, 我有两个变量,如下所示:- host=host{1..4} host2=host2{1..4} 如何在上面的循环中使用这两个变量,使它们的工作方式相同 大概是这样的:- for i in $host $host2 do echo $i done 任何帮助都将被告知使用评估: $ for i in `eval echo $host $host2`;do echo

这很好:-

for i in host{1..4} host2{1..4}
do
    echo $i
done
现在,

我有两个变量,如下所示:-

host=host{1..4}

host2=host2{1..4}

如何在上面的循环中使用这两个变量,使它们的工作方式相同

大概是这样的:-

for i in $host $host2
do
    echo $i
done
任何帮助都将被告知

使用评估:

$ for i in `eval echo $host $host2`;do echo $i;done
host1
host2
host3
host4
host21
host22
host23
host24
使用eval:

$ for i in `eval echo $host $host2`;do echo $i;done
host1
host2
host3
host4
host21
host22
host23
host24

不能将大括号展开延迟到该点,它将作为变量赋值本身的一部分进行。不能将大括号展开延迟到该点,它将作为变量赋值本身的一部分进行。