“中断”和“继续”都用于将程序的控制权转移到程序的另一部分。它在循环中用于改变循环流程并终止循环或跳过当前迭代。
休息
break 语句用于终止循环,可以在 while、for、until 和 select 循环中使用。
句法
break [N]
// N is the number of nested loops.
// This parameter is optional.
// By default the value of N is 1.
在循环中使用 break 命令。
可以看出,当 i 的值为 3 时,循环执行终止,因此 i 只打印到 2。
示例:使用值为 N 的 break。考虑一个示例:
for i in `seq 1 5`
do
for j in `seq 1 5`
do
if(( $j== 2 ))
then
break 2
fi
echo "value of j is $j"
done
echo "value of i is $i"
done
由于break的值为2,当j的值为2时,两个循环都单步退出。所以,当 j 为 1 时,它的唯一值被打印出来。
继续
Continue 是一个命令,用于在 for、while 和 until 循环中为当前迭代跳过循环内的剩余命令。
句法:
continue [N]
// the optional parameter N specifies the nth enclosing loop to continue from.
// This parameter is optional.
// By default the value of N is 1.
在循环中使用 break 命令
示例:对 N 的值使用 continue。考虑一个示例:
for i in `seq 1 5`
do
for j in `seq 1 5`
do
if(( $j== 2 ))
then
continue 2
fi
echo "value of j is $j"
done
echo "value of i is $i"
done
当 j 的值为 2 时,Continue 会跳过循环,因此,代码仅在 j 的值为 1 时执行。
中断和继续的区别
Sr. No. | break | continue |
---|---|---|
1 | It terminates the execution of the loop for all the remaining iterations. | It skips the execution of the loop for only the current iteration. |
2 | It allows early termination of the loop. | It allows early execution of the next iteration. |
3 | It stops the execution of loops. | It stops the execution of the loop only for the current iteration. |
4 | The code after the loop which was terminated is continued. | The code in the loop continues its execution skipping the current iteration. |