如何在Bash中循环使用混合数字

时间:2018-01-11 19:35:56

标签: bash

例如:

for s in 1..5,20..23,97..99;
do
   echo $s;
done
1..5,
20..23,
97..99

如何让它循环通过1,2,3,4,5,20,21,22,23,97,98,99?

2 个答案:

答案 0 :(得分:4)

您需要使用brace expansion { }语法:

for num in {1..5} {20..23} {97..99}; do
   echo "$num"
done

答案 1 :(得分:2)

您可以使用seq

 for s in $(seq 1 5) $(seq 20 23) $(seq 97 99);
 do
   echo $s;
 done

结果:

1
2
3
4
5
20
21
22
23
97
98
99

大括号扩展{ }是另一种选择。