一、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. Locks Set by Different SQL Statements in InnoDB

    A locking read, an UPDATE, or a DELETE generally set record locks on every index record that is scan ...

  2. mysql deadlock found when trying to get lock 问题排查

    mysql deadlock found when trying to get lock 问题排查 1 获 取锁等待情况 可以通过检查 table_locks_waited和table_locks_i ...

  3. 读书笔记,《Java 8实战》,第三章,Lambda表达式

    第一节,Lambda管中窥豹    可以把Lambda表达式理解为简洁地表示可传递的匿名函数的一种方式,它没有名称,但它有参数列表.函数主题和返回值.    本节介绍了Lambda表达式的语法,它包括 ...

  4. CentOS中zip压缩和unzip解压缩命令详解

    以下命令均在/home目录下操作cd /home #进入/home目录1.把/home目录下面的mydata目录压缩为mydata.zipzip -r mydata.zip mydata #压缩myd ...

  5. 【大数据】大数据处理-Lambda架构-Kappa架构

    大数据处理-Lambda架构-Kappa架构 elasticsearch-head Elasticsearch-sql client NLPchina/elasticsearch-sql: Use S ...

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

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

  7. 基于双向LSTM和迁移学习的seq2seq核心实体识别

    http://spaces.ac.cn/archives/3942/ 暑假期间做了一下百度和西安交大联合举办的核心实体识别竞赛,最终的结果还不错,遂记录一下.模型的效果不是最好的,但是胜在“端到端”, ...

  8. system函数的应用一例

    system函数的应用一例

  9. Install Hyper-V on Windows 10

      Enable Hyper-V to create virtual machines on Windows 10.Hyper-V can be enabled in many ways includ ...

  10. [Spring Boot] Singleton and Prototype

    When we use Bean to do autowired, it actually use singleton, so even we create multi instanses, they ...