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

标签 bash shell for-loop syntax

当范围由变量指定时,如何在 Bash 中迭代数字范围?

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

 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}

最佳答案

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

编辑:与其他方法相比,我更喜欢seq,因为我真的能记住它;)

关于bash - 如何迭代 Bash 中变量定义的一系列数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/169511/

相关文章:

python - 在列表中查找单调序列?

java - 在线程内使用 for 循环与类似的 while 循环行为不匹配

linux - 没有覆盖 -n 被 cp 命令忽略

bash - 如何在打印输出的同时将命令的输出存储在变量中?

linux - 如何编写一个 shell 脚本来一次将多行数据追加到 3 个不同的文件中,并搜索该数据是否已存在并忽略它?

shell - 如何在模式之前和行号之后使用 sed 插入一行?

shell - MinGW/MSYS shell 颜色

r - 迭代地提取跨说话轮次的重复单词形式

linux - 根据两列(双向)删除重复行并按第三列排序

ruby - 如何计算和检查传递的参数?