0
点赞
收藏
分享

微信扫一扫

continue、break、exit

椰果玩安卓 2023-11-20 阅读 41

#continue、break、exit命令

Linux脚本中的break continue exit


1.break

结束并退出本次循环


2.continue  

在循环中不执行continue下面的代码,转而进入下一轮循环


3.exit

退出脚本

常带一个整数给系统,如 exit 0


检测:

[root@localhost script]# vim break.sh

#!/usr/bin/bash

for i in {1..10}

do

if [ $i -eq 7 ];then

       continue

       #break

       #exit 34

else

       echo $i

fi

echo "本次输出结束"

done

echo "脚本结束循环"


#可理解为:break是立马跳出循环并退出脚本;continue是跳出当前条件循环,继续下一轮条件循环;exit是直接退出整个脚本  


在循环过程中,有时候需要在未达到循环结束条件时强制跳出循环,Shell使用两个命令来实现该功能:break和continue。

break命令

break命令允许跳出所有循环(终止执行后面的所有循环)。

下面的例子中,脚本进入死循环直至用户输入数字大于5。要跳出这个循环,返回到shell提示符下,需要使用break命令。  

代码如下:

[root@linux-server script]# vim break.sh

#!/bin/bash

while :

do

echo -n "Input a number between 1 to 5: "  

read aNum

case $aNum in

       1|2|3|4|5)

       echo "Your number is $aNum!"

       ;;

       *)

       echo "You do not select a number between 1 to 5, game is over!"

       break  

       ;;

esac

done


#将break注释掉观察结果


案例2:continue

continue命令

continue命令与break命令类似,只有一点差别,它不会跳出所有循环,仅仅跳出当前循环。

[root@linux-server script]# bash break.sh

 

对上面的例子进行修改:

代码如下:

[root@linux-server script]# vim break1.sh

#!/bin/bash

while :  #默认为真

do

echo -n "Input a number between 1 to 5: "  

read aNum

case $aNum in

       1|2|3|4|5)

       echo "Your number is $aNum!"

       ;;

       *)

       echo "You do not select a number between 1 to 5, game is over!"

       continue  

       ;;

esac

done

[root@linux-server script]# bash break1.sh

#运行代码发现,当输入大于5的数字时,该例中的循环不会结束.

举报

相关推荐

0 条评论