shell 检测命令执行结果状态代码返回值

检测 命令执行结果


0、1、2、126、127、128、130、255 是系统已经定义的状态码,
其中只有 0 表示成功,其它值都表示失败
自定义时应该避开这些状态码,虽然占用系统定义好的也没什么关系,
但也尽量避免未知的冲突。


状态码取值范围 0 ~ 255
如果值大于 255 ,则会用值一直减去255,直到获得一个小于255的值


代码:
function fun_checkExitValue() {
get_return=$1 ## 获取程序的返回值
msg_val=$2 ## 自定义 显示错误值
msg_str=$3 ## 自定义 显示错误提示
case $get_return in
0)
## 返回0则正常,不做任何操作。不写此项,会导致$1值被*)项捕获。
## 命令正常退出
echo "命令运行成功"
;;
1)
echo ""
echo "${get_return}"
echo "${msg_val} --> ${msg_str}"
echo ""
exit ## 用于退出脚本
# exit -30 ## 用于退出脚本,带退出值
# return -1 ## 用于退出函数
# read ## source 方式使用 exit 和 return 会退出终端
## 所以用read目的是让程序停下来,方便查看问题,可以用 Ctrl + C 结束退出
## exit, return, read 根据实际情况启用
;;
2)
echo ""
echo "${get_return}"
echo "${msg_val} --> ${msg_str}"
echo ""
exit
# exit -30
# return -2
# read
;;
126)
echo ""
echo "${get_return}"
echo "${msg_val} --> ${msg_str}"
echo ""
exit
# exit -30
# return -126
# read
;;
127)
echo ""
echo "${get_return}"
echo "${msg_val} --> ${msg_str}"
echo ""
exit
# exit -30
# return -127
# read
;;
128)
echo ""
echo "${get_return}"
echo "${msg_val} --> ${msg_str}"
echo ""
exit
# exit -30
# return -1
# read
;;
130)
echo ""
echo "${get_return}"
echo "${msg_val} --> ${msg_str}"
echo ""
exit
# exit -30
# return -130
# read
;;
255)
echo ""
echo "${get_return}"
echo "${msg_val} --> ${msg_str}"
echo ""
exit
# exit -30
# return -255
# read
;;
*)
echo ""
echo "${get_return}"
echo "${msg_val} --> ${msg_str}"
echo ""
exit
# exit -30
# return -1
# read
;;
esac
}

函数调用:

ls /bin
fun_checkExitValue $? 33 "error lakjdlf"

shell 状态码说明:https://www.cnblogs.com/wutou/p/17494355.html


参考:
http://c.biancheng.net/view/1145.html



posted @   悟透  阅读(1324)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
历史上的今天:
2022-06-21 shell脚本删除指定行、插入指定位置行
点击右上角即可分享
微信分享提示