退出与退出状态

退出状态, 一般情况下,0为成功,1-255为失败

每个命令都会返回一个退出状态(exit status),有时也叫做返回状态(return status)或退出码(exit code)

命令执行成功返回0,如果返回一个非0值,通常情况下会被认为是一个错误代码。一个运行状态良好的UNIX命令、程序和工具在正常执行退出后都会返回一个0的退出码,当然也有例外

脚本中的函数和脚本本身也会返回一个退出状态。在脚本或者脚本函数中执行的最后的命令会决定它们的退出状态。在脚本中,exit nnn 命令将会把nnn退出状态码传递给shell(nnn 必须是 0-255 之间的整型数)

当一个脚本以不带参数的 exit 来结束时,脚本的退出状态由脚本最后执行命令决定(exit 命令之前)

逻辑非操作符 ! 将会反转测试或命令的结果,并且这将会 影响退出状态

#!/bin/bash
COMMAND_1
...
COMMAND_LAST

# 将以最后的命令来决定退出状态
exit     # 正常都是exit $? ,并且 $? 对于测试脚本中的命令的执行结果特别有用
# exit,exit $? 以及省略 exit 效果等同


在管道执行后,$?  给出最后执行的那条命令的退出状态

唯爱与技术不可辜负
2017-10-14 23 : 43
回龙观

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,159评论 19 139
  • 1.命令格式:ifconfig [网络设备] [参数] 2.命令功能: ifconfig 命令用来查看和配置网络设...
    Nuuuu阅读 9,398评论 0 12
  • 0×1.帧中继概述Frame Relay,简称FR,可以将它看做X.25协议的简化版本,帧中继网络中不考虑传输差错...
    Zero___阅读 7,164评论 0 2
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 14,040评论 6 13
  • 当他再次答应和我在一起的时候,我是没想到的,电话那头没有一丝犹豫。就这样,我们最终还是在一起了。大年三十的晚上。 ...
    夏可可阅读 2,299评论 0 1

友情链接更多精彩内容