首页 > 系统相关 >shell 检测命令执行结果状态代码

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

时间:2023-06-21 12:33:35浏览次数:46  
标签:shell return get read 检测 代码 echo ## msg

检测 命令执行结果

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              ## 用于退出脚本
              # return -1    ## 用于退出函数
              # read            ## source 方式使用 exit 和 return 会退出终端
                                       ##  所以用read目的是让程序停下来,方便查看问题,可以用 Ctrl + C 结束退出
                                       ## exit, return, read 根据实际情况启用
          ;;
          2)
              echo ""
              echo "${get_return}"
              echo "${msg_val} --> ${msg_str}"
              echo ""
              # exit 
              # return -2 
              # read 
          ;;
          126)
              echo ""
              echo "${get_return}"
              echo "${msg_val} --> ${msg_str}"
              echo ""
              # exit
              # return -126
              # read
          ;;
          127)
              echo ""
              echo "${get_return}"
              echo "${msg_val} --> ${msg_str}"
              echo ""
              # exit
              # return -127
              # read
          ;;
          128)
              echo ""
              echo "${get_return}"
              echo "${msg_val} --> ${msg_str}"
              echo ""
              # exit
              # return -1
              # read
          ;;
          130)
              echo ""
              echo "${get_return}"
              echo "${msg_val} --> ${msg_str}"
              echo ""
              # exit
              # return -130 
              # read
          ;;
          255)
              echo ""
              echo "${get_return}"
              echo "${msg_val} --> ${msg_str}"
              echo ""
              # exit
              # return -255
              # read
          ;;
          *)
              echo ""
              echo "${get_return}"
              echo "${msg_val} --> ${msg_str}"
              echo ""
              # exit 
              # return -1
              # read 
          ;;
    esac
}



函数调用:

fun_checkExitValue  $?  33 "error lakjdlf"

shell 状态码说明:[https://www.cnblogs.com/wutou/p/17494355.html](https://www.cnblogs.com/wutou/p/17494355.html "https://www.cnblogs.com/wutou/p/17494355.html")

标签:shell,return,get,read,检测,代码,echo,##,msg
From: https://www.cnblogs.com/wutou/p/17495865.html

相关文章

  • 常用的表格检测识别方法——表格内容识别方法
    第三章 常用的表格检测识别方法3.3表格内容识别方法  表格识别的研究主要涉及两个方面,一方面是对单元格内的文本进行识别,这一步通常是在确定单元格区域后,利用较为稳定的光学字符识别方法(OCR)来实现,这一方面不是表格识别研究的重点,不在此展开;另一方面是基于整个表格内容进行的......
  • 如何使用idea来查找所有未使用的代码?
    背景项目组需要对开发的项目进行一次清理,把一些未被引用的代码清理掉。我们知道一段代码未被引用,那么代码通常是灰色的。但是一个完整的项目,会存在成千上万个Java文件,如果一个一个看去需要花费太多的精力,并不现实。那怎么才能一下子找到所有未使用的代码呢?一开始我想着有......
  • go语言解析HTTP包生成代码发送HTTP数据包
    输入是从fiddler捕获的HTTP数据包GEThttps://bbs.kanxue.com/HTTP/1.1Host:bbs.kanxue.comConnection:keep-aliveUpgrade-Insecure-Requests:1User-Agent:Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/114.0.0.0Safari......
  • 使用IDEA回滚某次提交的代码步骤,和回滚某次已经commit的代码但是没有push的代码
    使用IDEA回滚某次提交的代码步骤1.已经push的代码回滚选中提交的版本:右击RevertCommit会新增一个Revert“xxxCommit”的Commit记录,并将"xxxCommit"中的代码全部回滚。如果是已经push到远端的Commit,RevertCommit后还需要进行push。 2.已经commit但是没有pus......
  • 代码随想录算法训练营第十三天| 层序遍历 226.翻转二叉树 (优先掌握递归) 101. 对
    层序遍历注意:1,使用队列的形式,依次入队,同时对队列进行计数2,知道数目消失,才进行下一个队列代码:1vector<vector<int>>levelOrder(TreeNode*root)2{3vector<vector<int>>result;4if(root==NULL)returnresult;5queue<TreeNode*>selected;6......
  • shell脚本,结合expect给当前网段所有主机分发任意文件
    1.安装expectyum-yinstallexpect2.root目录下创建iplist.txt文件(要分发的IP地址)192.168.100.129192.168.100.1303.root目录下创建user.txt(是服务器的密码)1234561234564.创建脚本test.sh,test.log(脚本后面不可以有注释的)#!/bin/bashecho"拷贝情况如下:">/root/test.log......
  • PCL:点云滤波汇总:算法原理 + 代码实现(转载)
    原文链接:https://blog.csdn.net/weixin_46098577/article/details/114385690PCL官方链接:https://pointclouds.org/documentation/group__filters.html目录1PassThrough直通滤波器1.1官网描述1.2算法原理1.3代码实现2VoxelGrid体素滤波器2.1官网描述2.2算法原理2.3代码......
  • VS编译错误 【xxx.exe 已退出,代码为 9】【Microsoft.TypeScript.targets(561,5): erro
    先直接上图。错误列表报错如下: 输出列表报错如下: 解决思路如下:1、查了百度,没找到有用的东西。2、看了微软的官方,MSB6006:“process”在退出时出现代码`exitcode`。-MSBuild|MicrosoftLearn原文是“执行命令并返回非零退出代码或指示其输出中出现错误时,会发生此错......
  • Simulink联合单片机开发代码生成1.支持飞思卡尔16位/32位 2.Simul
    Simulink联合单片机开发代码生成1.支持飞思卡尔16位/32位2.Simulink模块化编程3.带有Bootloader底层,支持CAN上位机刷写4.matlab/Simulink基础m语言,Sfunction等基础资料5.模块化编程案例ID:35199607337353077......
  • STM32 w5500 bootloader 源代码 STM32 w5500 bootloader 原代源码,上位机C#,下位机c
    STM32w5500bootloader源代码STM32w5500bootloader原代源码,上位机C#,下位机c。简单修改可以支持stm32全系列芯片。支持网口升级该版本为优化过的版本,1.支持代码段保护;2.支持烧写失败重置;3.已经在正式产品批量使用,同步更新。YID:4330607520269271......