http://www.jb51.cc/article/p-ktmzttws-bms.html
一、break、continue、exit、return的区别和对比
条件与循环控制及程序返回值命令知识表
命令 |
说明 |
break n |
如果省略n,则表示跳出整个循环,n表示跳出循环的层数 |
continue n |
如果省略n,则表示跳出本次循环,忽略本次循环剩余代码,进入循环的下一次循环。n表示退到第n层继续循环 |
exit n |
表示退出当前shell程序,n为上一次程序执行的状态返回值,n也可以省略,在下一个shell里可以通过“$?”接收exit n的n值。 |
return n |
用于在函数里作为函数的返回值,以判断函数执行是否正确,在下一个shell里可通过“$?”接收exit n的n值 |
二、break、continue、exit功能执行流程图
1、在循环中break功能的执行流程逻辑图
2、在循环中bcontinue功能的执行流程逻辑图
3、在循环中exit功能的执行流程逻辑图
三、用一个小脚本区分break、continue、exit、return
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
[root@xuegod63~]
#vim3.sh
#!/bin/bash
#
#User:Mobanche
#Date:2017-8-1
#Description:Thisshellscriptisusedprimarilytoidentifythestate
#returnvalueofaloopcontrolthatisdistinguishedfrom
#thereturn-break-continue-exit
if
[$
#-ne1]
then
echo
"usage:{conntiue|break|exit|return}"
exit
1
fi
test
(){
for
((i=1;i<=5;i++))
do
[$i-
eq
3]
then
$*
fi
echo
$i
done
"Iamfunction"
}
$*
func_ret=$?
[`
$*|
grep
return
|
wc
-l`-
1]
then
"return'sexitstatus:$func_ret"
fi
OK
|
测试:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。