加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-15 17:07:50 所属栏目:安全 来源:网络整理
导读:一篇博客分清 shell 中的状态返回值 -return-break-continue-exit 一、 break 、 continue 、 exit 、 return 的区别和对比 条件与循环控制及程序返回值命令知识表 命令 说明 break n 如果省略 n ,则表示 跳出整个循环 , n 表示跳出循环的层数 continue n

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

一、breakcontinueexitreturn的区别和对比

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

命令

说明

break n

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

continue n

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

exit n

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

return n

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

二、breakcontinueexit功能执行流程图

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


wKioL1mAZC7BCACTAABfUCx4vyc192.png

wKiom1mAZC6iNRXEAABepFOOimA055.png


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




wKioL1mAZEPQQVeoAABfsEAdVjk688.png

wKiom1mAZUaDzA7TAABhWoNhKds129.png



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

wKioL1mAZFLT3LpqAABptYgH8TE585.png

wKiom1mAZFLRQ_DtAABqMx-WLA8644.png


三、用一个小脚本区分breakcontinueexitreturn

[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}"
exit1
fi

test(){
for((i=1;i<=5;i++))
do
if[$i-eq3]
then
$*
fi
echo$i
done
echo"Iamfunction"
}
test$*
func_ret=$?
if[`echo$*|grepreturn|wc-l`-eq1]
then
echo"return'sexitstatus:$func_ret"
fi
echoOK


测试:

wKioL1mAZGDxWj05AAApnDV2_Pg131.png

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读