一篇博客分清shell中的状态返回值-return-break-continue-exit

一篇博客分清shell中的状态返回值-return-break-continue-exitshell

 

1、breakcontinueexitreturn的区别和对比vim

 

条件与循环控制及程序返回值命令知识表bash

命令ide

说明函数

break noop

若是省略n,则表示跳出整个循环n表示跳出循环的层数测试

continue nui

若是省略n,则表示跳出本次循环,忽略本次循环剩余代码,进入循环的下一次循环。n表示退到第n层继续循环spa

exit norm

表示退出当前shell程序n为上一次程序执行的状态返回值,n也能够省略,在下一个shell里能够经过“$?”接收exit nn值。

return n

用于在函数里做为函数的返回值,以判断函数执行是否正确,在下一个shell里可经过“$?”接收exit nn

 

 

 

2、breakcontinueexit功能执行流程图

 

1、在循环中break功能的执行流程逻辑图


wKioL1mAZC7BCACTAABfUCx4vyc192.png

wKiom1mAZC6iNRXEAABepFOOimA055.png


 

 

 

 

2、在循环中bcontinue功能的执行流程逻辑图




wKioL1mAZEPQQVeoAABfsEAdVjk688.png

 wKiom1mAZUaDzA7TAABhWoNhKds129.png



三、在循环中exit功能的执行流程逻辑图

wKioL1mAZFLT3LpqAABptYgH8TE585.png

wKiom1mAZFLRQ_DtAABqMx-WLA8644.png


 

3、用一个小脚本区分breakcontinueexitreturn

[root@xuegod63 ~]# 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


 

 

测试:

wKioL1mAZGDxWj05AAApnDV2_Pg131.png

相关文章
相关标签/搜索