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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
2022-06-21 shell脚本删除指定行、插入指定位置行