郑州app开发,台州百度快照优化公司,支付宝也做网站吗,WordPress博客Vieu主题2.1.2 函数退出
这一节#xff0c;我们从 基础知识、简单实践、小结 三个方面来学习。
基础知识
简介 我们可以将函数代码块#xff0c;看成shell脚本内部的小型脚本#xff0c;所以说函数代码块也会有执行状态返回值。对于函数来说#xff0c;它通常支持两种种状态返回…2.1.2 函数退出
这一节我们从 基础知识、简单实践、小结 三个方面来学习。
基础知识
简介 我们可以将函数代码块看成shell脚本内部的小型脚本所以说函数代码块也会有执行状态返回值。对于函数来说它通常支持两种种状态返回值的样式。样式1-默认的退出状态默认情况下函数的退出状态是函数体内的最后一条命令的退出状态可以通过 $? 来获取
样式2-return定制状态返回值在函数体内部通过return定制状态返回值的内容注意return的状态返回值必须尽快使用否则会被其他return的值覆盖return的状态返回值必须在 0-255否则失效简单实践
实践1-默认退出状态
[rootlocalhost ~]# cat function_exit_status1.sh
#!/bin/bash
# 功能函数默认状态返回值# 定制成功运行的函数
ok_func() {echo -e \e[31m脚本的使用帮助信息: xxx\e[0m
}
# 定制一个运行失败的函数
err_func() {666666
}
# 定制脚本使用逻辑
if [ $# -eq 1 ]
thenerr_funcecho 错误函数的执行状态返回值: $?
elseok_funcecho 成功函数的执行状态返回值: $?
fi脚本执行效果
[rootlocalhost ~]# /bin/bash function_exit_status1.sh
脚本的使用帮助信息: xxx
成功函数的执行状态返回值: 0
[rootlocalhost ~]# /bin/bash function_exit_status1.sh aa
function_exit_status1.sh:行10: 666666: 未找到命令
错误函数的执行状态返回值: 127
[rootlocalhost ~]# lll; echo $?
bash: lll: 未找到命令
127
结果显示对于异常的函数来说默认的状态返回值有安全隐患实践2-return定制函数的返回值实践
[rootlocalhost ~]# cat function_exit_status2.sh
#!/bin/bash
# 功能return定制函数状态返回值# 定制成功运行的函数
ok_func() {echo -e \e[31m脚本的使用帮助信息: xxx\e[0m# 定制超范围的状态返回值return 666
}
# 定制一个运行失败的函数
err_func() {666666# 定制状态返回值return 222
}
# 定制脚本使用逻辑
if [ $# -eq 1 ]
thenerr_funcecho 错误函数的执行状态返回值: $?
elseok_funcecho 成功函数的执行状态返回值: $?
fi脚本执行效果
[rootlocalhost ~]# /bin/bash function_exit_status2.sh
脚本的使用帮助信息: xxx
成功函数的执行状态返回值: 154
[rootlocalhost ~]# /bin/bash function_exit_status2.sh aa
function_exit_status2.sh:行12: 666666: 未找到命令
错误函数的执行状态返回值: 222
结果显示return的状态返回值范围必须满足要求小结