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

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

发布时间:2020-12-15 16:34:58 所属栏目:安全 来源:网络整理
导读:http://www.jb51.cc/article/p-ktmzttws-bms.html 一、 break 、 continue 、 exit 、 return 的区别和对比 条件与循环控制及程序返回值命令知识表 命令 说明 break n 如果省略 n ,则表示 跳出整个循环 , n 表示跳出循环的层数 continue n 如果省略 n ,则

http://www.52php.cn/article/p-ktmzttws-bms.html

一、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

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

测试:

wKioL1mAZGDxWj05AAApnDV2_Pg131.png

(编辑:李大同)

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

    推荐文章
      热点阅读