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
有谁知道是否有一种方法可以在 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