continue、break、exit
  vxoexqgjyiCS 2023年11月22日 21 0

#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的数字时,该例中的循环不会结束.

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月22日 0

暂无评论

推荐阅读
  6YY0QMPUXEwu   2023年12月10日   28   0   0 linux网卡
  wwLZeziuqjLR   2023年12月08日   97   0   0 Dockercentosbash
  nIt0XG0acU8j   2023年12月11日   29   0   0 linuxhtop
  nIt0XG0acU8j   2023年12月09日   33   0   0 linuxsort