如何创建迭代次数可变的 for 循环?

Sof*_*fia 4 bash shell-script for

当用户在开始时指定 n 时,如何迭代循环 n 次?

我编写了一个 shell 脚本,需要将其中的某个部分重复 n 次(取决于用户希望的次数)。

到目前为止,我的脚本如下所示:

echo "how many times would you like to print Hello World?"
read num
for i in {1.."$num"}
do
echo "Hello World"
done
Run Code Online (Sandbox Code Playgroud)

如果我将“num”更改为诸如“5”之类的数字,则循环可以工作,但是我需要能够让用户指定迭代循环的次数。

ste*_*ver 5

您可以使用 seq

for i in $(seq 1 "$num") 
Run Code Online (Sandbox Code Playgroud)

或者你的 shell 可能支持 C 风格的循环,例如在 bash 中

for ((i=0; i<$num; i++))
Run Code Online (Sandbox Code Playgroud)


Mel*_*lan 5

echo "how many times would you like to run your loop ?"
read  max

i=0
while [ "$((i+=1))" -le "$max" ]
do
   # whatever you want to do here
done
Run Code Online (Sandbox Code Playgroud)