abe*_*nky 15 unix linux bash for-loop
我经常使用众所周知的语法在bash中编写for循环:
for i in {1..10} [...]
Run Code Online (Sandbox Code Playgroud)
现在,我正在尝试编写一个顶部由变量定义的地方:
TOP=10
for i in {1..$TOP} [...]
Run Code Online (Sandbox Code Playgroud)
我尝试了各种各样的parens,花括号,评估等,并且通常会收到错误的"错误替换".
如何编写for-loop以使限制取决于变量而不是硬编码值?
anu*_*ava 28
您可以像这样使用for循环来迭代变量$TOP:
for ((i=1; i<=$TOP; i++))
do
echo $i
# rest of your code
done
Run Code Online (Sandbox Code Playgroud)
如果你有一个gnu系统,你可以seq用来生成各种序列,包括这个.
for i in $(seq $TOP); do
...
done
Run Code Online (Sandbox Code Playgroud)