一篇博客分清shell中的狀態返回值-return-break-continue-exit
阿新 • • 發佈:2017-08-01
shell
一篇博客分清shell中的狀態返回值-return-break-continue-exit
一、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 |
二、break、continue、exit功能執行流程圖
1、在循環中break功能的執行流程邏輯圖
2、在循環中bcontinue功能的執行流程邏輯圖
3、在循環中exit功能的執行流程邏輯圖
三、用一個小腳本區分break、continue、exit、return
[[email protected] ~]# vim 3.sh #!/bin/bash # #User : Mobanche #Date : 2017-8-1 #Description :This shell script is used primarily to identify the state # return value of a loop control that is distinguished from # the return-break-continue-exit if [ $# -ne 1 ] then echo "usage: {conntiue|break|exit|return}" exit 1 fi test () { for ((i=1;i<=5;i++)) do if [ $i -eq 3 ] then $* fi echo $i done echo "I am function" } test $* func_ret=$? if [ `echo $*|grep return|wc -l` -eq 1 ] then echo "return‘s exit status :$func_ret" fi echo OK
測試:
本文出自 “末班車” 博客,請務必保留此出處http://blxueyuan.blog.51cto.com/9673381/1952770
一篇博客分清shell中的狀態返回值-return-break-continue-exit