bash for循环,序列,然后异常

bash for loop, sequences and then an anomaly

有谁知道是否有一种方法可以在 for 循环中指定一个包含异常的序列,这样我就可以通过 ssh 连接到一大堆机器而无需分别输入每个机器编号?

     for i in comp{1..5,7,9}; do
         ssh root@$i" echo $i; $doOtherStuff";
     done

我希望这不会太模糊 - 我正在努力寻找合适的词,所以我可能错过了要在现有问题中搜索的关键字

谢谢

希望我能正确理解您的尝试。如果我这样做,那么一种方法是

 for i in {1..5} 7 9; do
     comp="comp$i"
     ssh root@$comp" echo $comp; $doOtherStuff";
 done

i 遍历的列表是 1 2 3 4 5 7 9。然后,您可以将其用于 assemble 机器名称(在此处的变量 comp 中)并按照您打算使用的方式使用它 i.

您不能在一个大括号中混用逗号和范围。但是你可以用多个级别来做到这一点:

for i in comp{{1..5},7,9}
    ...
done