bash 的无限循环

Infinite for loop with bash

我有一个像

这样的脚本
#!/bin/bash
for i in {1..xx};do break="$i"
If....; then Some command
else break;fi
done

我需要一个可以重复此脚本 n 次并增加 $i 的东西。

我试过了

For (( ; ; )); do  i=1 && echo $i && ((i++));done

但这总是显示 1 不递增数字也试过 $((i+=1))

其中xx一定是无穷无尽的数字。

其中 break="$i" 给出了重复脚本的次数。 很抱歉英语不好。

使用for 来创建无限循环很简单,但并不难。只是让结束条件永远不为真;或者,简单地忽略它。

for((i=0; ;++i)); do
    echo "$i"
done

以上仅为Bash。通常的解决方案,也适用于 POSIX sh,是使用 while true(但如果这确实是您需要的,那么它不会附带递增索引)。