一、break、continue、exit、return的区别和对比

break n     :如果省略n,则表示跳出整个循环,n表示跳出循环的层数

continue n:如果省略n,则表示跳过本次循环,忽略本次循环的剩余代码,进入循环的下一次循环,n表示退出到第n层继续循环

exit n        :退出当前shell,n为上次执行程序的状态返回值。exit 0表示正常退出,exit 1表示非正常退出

return n    :用于在函数里作为函数的返回值,以判断函数执行的是否正确。

二、break、continue、exit功能执行的流程图

1.循环中break功能执行流程图

2.循环中continue功能执行流程图

3.循环中exit功能执行流程图

三、案例说明

下面是一个关于break、continue、exit、return的脚本

#!/bin/bash
#作者:OLIVER
#文件名:19_12_1.sh
if [ $# -ne 1 ];then #<==如果传入的参数个数不为1,则打印下面信息提示用户。
echo $"请给脚本$0传入参数(break|continue|exit|return)中的其中一个!" #<==传入这4个参数中的其中一个
exit 1 #<==exit 1表示非正常退出,0表示正常退出
fi
test(){
for((i=0;i<=6;i++))
do
if [ $i -eq 3 ];then
$*;#<==接受函数外的参数
fi
echo $i
done
echo "============循环结束!===============" #<==循环外的输出提示
}
test $* #<==调用函数并传参数
func_stat=$? #<==函数执行状态
if [ `echo $*|grep return|wc -l` -eq 1 ]
then
echo "return's exit status:$func_stat"
fi
echo "ok"

1.直接执行

直接执行命令,则在第一个if语句中就被exit了,并且打印提示信息给用户

2.执行参数为break

根据结果我们可以看出,当i=3以后,该函数就获取到break了,就直接退出了!在i<3之前,函数会将i值打印出来。

3.执行参数为continue

我们从上述结构可以看到没有3,那是因为当i=3的时候,直接就终止本次循环,进而进入到下次循环

4.执行参数为exit

从结果可以看出,当i=3的时候直接就退出程序了

5.执行参数为return

从运行结果可以看出,程序在运行的时候,进入到函数中的循环,并且当i=3的时候,return的作用是退出当前函数,并且下面判断了如果输入命令是return,则打印出return退出的状态码。

【Linux】循环控制及状态返回值break、continue、exit、return的更多相关文章

  1. Shell编程之循环控制及状态返回值

    1.break.continue.exit.return的对比 break.continue在条件语句和循环语句中用于控制程序走向: exit用于终止所有语句并退出当前脚本,还可以返回上一次程序或命令 ...

  2. break continue exit return 的区别

    [root@localhost day1]# cat ss.sh #!/bin/bash for ((i=0;i<5;i++)) do if [ $i -eq 3 ] then break #c ...

  3. [转帖]Shell脚本中的break continue exit return

    Shell脚本中的break continue exit return 转自:http://www.cnblogs.com/guosj/p/4571239.html break结束并退出循环 cont ...

  4. C语言break/continue/exit/return的功能区别

    break是跳出整个循环而执行循环体之外的下一条语句: continue只是跳出本次循环继续判断下一次循环条件是否满足. exit() 结束当前进程/当前程式/,在整个程式中,只要调用 exit ,就 ...

  5. Shell脚本中的break continue exit return

    转自:http://www.cnblogs.com/guosj/p/4571239.html break结束并退出循环 continue在循环中不执行continue下面的代码,转而进入下一轮循环 e ...

  6. Bash脚本编程学习笔记04:测试命令test、状态返回值、位置参数和特殊变量

    我自己接触Linux主要是大学学习的Turbolinux --> 根据<鸟哥的Linux私房菜:基础篇>(第三版) --> 马哥的就业班课程.给我的感觉是这些课程对于bash的 ...

  7. js中退出语句break,continue和return 比较 (转载)

    在 break,continue和return 三个关键字中, break,continue是一起的,return 是函数返回语句,但是返回的同时也将函数停止 首先:break和continue两个一 ...

  8. js中退出语句break,continue和return 比较

    js中退出语句break,continue和return 比较 在 break,continue和return 三个关键字中, break,continue是一起的,return 是函数返回语句,但是 ...

  9. JS中break continue和return的用法?

    在 break,continue和return 三个关键字中, break,continue是一起的,return 是函数返回语句,但是返回的同时也将函数停止 break和continue: 退出循环 ...

随机推荐

  1. JS读取json 文件

    json文件是一种轻量级的数据交互格式.一般在jquery中使用getJSON()方法读取. $.getJSON(url,[data],[callback]) url:加载的页面地址 data: 可选 ...

  2. HTML 5 <script> async 属性简单设置代码异步执行

    HTML5中 script标签支持脚本的异步执行async.脚本将会异步运行: <script type="text/javascript" src="demo_a ...

  3. Java常见异常(Runtime Exception )小结(转)

    原文链接:Java常见异常(Runtime Exception )小结 Java异常体系结构呈树状,其层次结构图如图 1所示:           本文重在Java中异常机制的一些概念.写本文的目的在 ...

  4. 奇怪吸引子---Arneodo

    奇怪吸引子是混沌学的重要组成理论,用于演化过程的终极状态,具有如下特征:终极性.稳定性.吸引性.吸引子是一个数学概念,描写运动的收敛类型.它是指这样的一个集合,当时间趋于无穷大时,在任何一个有界集上出 ...

  5. 初识EntityFramework6【转】

    http://www.cnblogs.com/wujingtao/p/5401132.html 什么是EF? EF是一种ORM(Object-relational mapping)框架,它能把我们在编 ...

  6. oracle归档日志的操作

                 oracle利用重做日志文件记录对数据库的操作.可是重做日志文件组是循环使用的,当所有的日志文件都被填满时,系统自己主动切换到第一组日志文件,当然数据库管理员也能够使用命令手 ...

  7. Android -- ViewPager切换动画,PageTransformer

    transformPage(View view, float position) view就是滑动中的那个view,position这里是float类型,是当前滑动状态的一个表示,比如当滑动到正全屏时 ...

  8. Mono Touch Table应用

    , UIApplication.SharedApplication.StatusBarFrame.Height                         , UIScreen.MainScree ...

  9. 个基于TensorFlow的简单故事生成案例:带你了解LSTM

    https://medium.com/towards-data-science/lstm-by-example-using-tensorflow-feb0c1968537 在深度学习中,循环神经网络( ...

  10. bash shell seq的用法

    seq 1 3 100 , 表示起始值为1, 间隔为3,终点值为100 #!/bin/bash aa=(1 2 3 17) #for i in 1 2 3 13 for i in ${aa[*]} d ...