一尘不染

如何迭代 Bash 中变量定义的一系列数字?

shell

当范围由变量给出时,如何迭代 Bash 中的数字范围?

我知道我可以做到这一点(在 Bash文档中称为“序列表达式” ):

 for i in {1..5}; do echo $i; done

这使:

1
2
3
4
5

但是,如何用变量替换任一范围端点?这不起作用:

END=5
for i in {1..$END}; do echo $i; done

打印:

{1..5}


阅读 186

收藏
2022-02-14

共1个答案

一尘不染

for i in $(seq 1 $END); do echo $i; done

编辑:我更喜欢seq其他方法,因为我实际上可以记住它;)

2022-02-14