在我们使用 for 循环、while 循环 或者 for in 循环 时,在某种条件满足的情况下,需要跳过本次循环,继续执行下一次循环,在 Shell 中,跳过本次循环的继续运行下一次循环使用的关键字为 continue。
注意 continue 与 break 的区别,break 是直接终止了当前的循环,当前的循环不会再运行,而 continue 只是跳过本次循环,当前循环的后续循环还会继续运行。
for ((i = startIndex; i < endIndex; i++)) do if ((condition)) then continue; fi # do something done
参数 | 描述 |
---|---|
for | for 循环使用的关键字。 |
continue | 如果满足条件 condition,就跳过本次循环。 |
上面的循环是在 condition 条件满足的情况下,跳过本次 for 循环,继续执行下一次循环。
使用 continue 语句,跳过本次循环
#!/bin/bash
for ((i = 1; i < 5; i++))
do
if ((i == 3))
then
continue;
fi
echo $i
done
程序运行后,控制台输出如下:
首先,我们定义了一个 for 循环,该循环从 1 开始到 4 结束,每次循环循环控制 变量 加 1,并打印当前循环控制变量的值。
但,我们这里使用了 if 语句 判断,如果循环控制变量的值等于 3,那么我们就使用 continue 语句来跳过本次循环,因此最终结果只输出了 1,2,4,因为到 3 的时候,该次循环被 continue 语句跳过了,但后续的 4 还是会继续执行,如果这换成 break 语句,那么就不会输出 4。
在我们使用 for 循环、while 循环或者 for in 循环时,在某种条件满足的情况下,需要跳过本次循环,继续执行下一次循环,在 Shell 中,跳过本次循环的继续运行下一次循环使用的关键字为 continue。
注意 continue 与 break 的区别,break 是直接终止了当前的循环,当前的循环不会再运行,而 continue 只是跳过本次循环,当前循环的后续循环还会继续运行。