break和continue的功能都可以跳过部分代码,在学习的时候我们可能都会看到说break和continue都可以跳出循环,今天我们利用shell脚本分析一下两者的区别,读者不懂shell脚本也没关系,理解一下两者的用法就可以啦。
1. break跳出循环
当我们需要跳出当前循环,或者终止死循环时,我们就可以使用break来跳出循环。接下来我们运行如下代码:
#!/bin/bash
var=1
while(( $var < 5 ))
do
if(( $var>3 ))
then
echo "跳出循环"
break
fi
echo "$var"
var=`expr $var + 1`
done
执行结果为:
在该循环中var>3
时break,而是直接跳出循环。
2. continue跳出循环
continue命令与break命令类似,只有一点差别,它不会跳出所有循环,仅仅跳出当前循环。 接下来我们运行如下代码:
#!/bin/bash
var=1
while(( $var < 5 ))
do
if(( $var>3 ))
then
echo "跳出循环"
continue
fi
echo "$var"
var=`expr $var + 1`
done
执行结果为:
使用continue跳出的循环只是当前循环,无法跳出整个循环,由于在该代码中我们每次执行到continue就会跳出当前循环,无法执行 var=
expr $var + 1
,所以循环条件一直成立,就成了死循环。
3. 总结区别
break
的功能主要是结束所有循环,本轮循环不再执行,跨出循环体以内的所有内容。
continue
的功能是结束本轮循环,开启下一个循环,本轮循环的内容不再执行。