首页 > 系统相关 >shell脚本使用 $? 记录返回值

shell脚本使用 $? 记录返回值

时间:2024-01-16 15:02:48浏览次数:26  
标签:脚本 文件 shell 若有 调用 exit 返回值 退回

  在shell脚本中,使用 $? 来获取上一次命令执行时的返回状态。实际使用中需要注意 $? 可能会被清零或覆盖,最好先使用

中间变量存起来,以后使用该中间变量;请看如下几种案例的 $? 值的变化:

  1)shell A文件 调用  shell B文件

      shell B文件:①若有 $?=2

            ② exit  【退回到shell A文件】

      shell A文件:此时拿到的 $?=2

 

  2) shell A文件 调用  shell B文件

      shell B文件:① 若有 $?=2

            ② if [ $? -ne 0 ]; then    【条件判断为真】

                                          exit  【退回到shell A文件】

           if

       shell A文件:此时拿到的 $?=0

 

  3) shell A文件 调用  shell B文件

       shell B文件:① 若有 $?=2

             ② if [ $? -eq 0 ]; then    【条件判断为假】

                                          .........

             if

                ③  exit  【退回到shell A文件】

       shell A文件:此时拿到的 $?=0

 

  4) shell A文件 调用  shell B文件

      shell B文件:① 若有 $?=2

                 xxxyyyy...

             ② exit 4  【退回到shell A文件】

       shell A文件:此时拿到的 $?=4

 

标签:脚本,文件,shell,若有,调用,exit,返回值,退回
From: https://www.cnblogs.com/learningendless/p/17967653

相关文章

  • 使用shell脚本xtrabackup自动恢复MySQL数据库
    【背景说明】按照安全的一些要求,需要定期对数据库进行恢复演练操作【环境说明】MySQL5.7的xtrabackup全库xbstream的加密备份(如果不是流备份跟加密,去掉相关参数)【脚本说明】v_backupdir="/mysqlbackup/recovery/yiyuan"备份文件的目录路径v_dir="/mysqlbackup/recovery/......
  • jenkins中配置linux/windows脚本: python文件传dict参数
    1)前提:jenkinjob中选择linux脚本:如果是传dict参数,那么需要在py文件后跟单引号(跟双引号会报错):正确得案例: 2)前提:jenkinjob中选择windos脚本:如果是传dict参数,那么需要在py文件后跟双引号(跟单引号会报错),dict中得双引号也需要\''转义:正确得案例: ......
  • shell脚本检测mysql服务状态
    shell脚本检测mysql状态:通过多种方案实现方法一:netstat命令 方法二:ss命令 方法三:使用lsof监控端口 执行结果: ......
  • linux or macos 将当前脚本文件以某个方式执行:#! /usr/bin/env
    #!/usr/bin/env 在linux的一些bash的脚本,需在开头一行指定脚本的解释程序,如: #!/usr/bin/envpython但是也有直接写绝对路径的#!/usr/bin/python这个的虽然可以,但是如果我们将脚本换了一台设备,可能它的python并非安装在此处,则需要更换相反:#!/usr/bin/envpython,它是从环境......
  • dolphinscheduler 3.2.0版本执行install.sh脚本报错 command not found
    环境:linuxcentos7dolphinscheduler集群安装,正确配置完/env/install_env.sh、/env/dolphinscheduler_env.sh脚本后,执行安装脚本报错。排错期间排查了sudo、mkdir、bash命令是否已安装等问题。怀疑是环境问题,尝试将整个解压包拷贝至其他相同版本系统的机器上,发现可正常安装启动。后......
  • (2)Powershell开发工具
    (2)Powershell开发工具在上一节对Powershell进行了简单介绍,详细内容参考Powershell简介,这一节介绍Powershell的开发工具及其设置注意事项。本文包含以下知识点如何启动WindowsPowershell命令行开发工具WindowsPowershell命令行的简单设置如何启动WindowsPowershel......
  • (1)Powershell简介
    (1)Powershell简介本文会包含以下三个知识点什么是Powershell?学习Powershell有什么好处?学习Powershell需要哪些条件?什么是Powershell?Powershell(WindowsPowershell)是Microsoft为Windows设计的新的命令行程序,这个Windows内置的命令行shell包括交互式提示和脚本环......
  • Jmeter如何分布式执行脚本?
    Jmeter分布式执行原理:JMeter分布式执行时,选择其中一台作为调度机(master),其他机器作为执行机(slave);master会在本地编辑好jmx压测脚本,执行时,master将jmx脚本发送至slave上,slaver执行时不需要启动jmeter,只需要把jmeter-sever.bat文件打开以非GUI形式执行;slave执行完毕后将结果回传给......
  • Chrome 插件 V3 版本 Manifest.json 中的内容脚本(Content Scripts)解析
    内容脚本(ContentScripts)指定在用户打开某些网页时要使用的JavaScript或CSS文件。内容脚本是在网页环境中运行的文件。通过使用标准文档对象模型 (DOM),开发者能够读取浏览器所访问网页的详情、更改这些网页,并将信息传递给其父级扩展程序。一、内容脚本功能内容脚本在......
  • 2023年考研成绩提前查脚本
    1importrequests2importurllib33importtime4importjson5urllib3.disable_warnings()6url="https://yz.chsi.com.cn/apply/cjcx/cjcx.do"7headers={8'User-Agent':'Mozilla/5.0(WindowsNT10.0;Win64;x64)A......