用途说明

exit命令用于退出当前shell,在shell脚本中可以终止当前脚本执行,返回值状态。

常用参数

格式:exit n

退出。设置退出码为n。(Cause the shell to exit with a status of n.)

格式:exit

退出。退出码不变,即为最后一个命令的退出码。(If n is omitted, the exit status is that of the  last  command executed. )

格式:$?

上一个命令的退出码。

格式:trap "commands" EXIT

退出时执行commands指定的命令。( A trap on EXIT is executed before the shell terminates.)

退出码(exit status,或exit code)的约定:

0表示成功(Zero - Success)

非0表示失败(Non-Zero  - Failure)

2表示用法不当(Incorrect Usage)

127表示命令没有找到(Command Not Found)

126表示不是可执行的(Not an executable)

>=128 信号产生

man 3 exit 写道

The C standard specifies two constants, EXIT_SUCCESS and EXIT_FAILURE, that may be passed to exit() to indicate        successful or unsuccessful termination, respectively.

以下摘自/usr/include/stdlib.h

#define EXIT_FAILURE    1       /* Failing exit status.  */
#define EXIT_SUCCESS    0       /* Successful exit status.  */

man 3 exit 写道BSD试图对退出码标准化。

BSD has attempted to standardize exit codes; see the file <sysexits.h>.

以下摘自/usr/include/sysexits.h

#define EX_OK           0       /* successful termination */
#define EX__BASE        64      /* base value for error messages */
#define EX_USAGE        64      /* command line usage error */
#define EX_DATAERR      65      /* data format error */
#define EX_NOINPUT      66      /* cannot open input */
#define EX_NOUSER       67      /* addressee unknown */
#define EX_NOHOST       68      /* host name unknown */
#define EX_UNAVAILABLE  69      /* service unavailable */
#define EX_SOFTWARE     70      /* internal software error */
#define EX_OSERR        71      /* system error (e.g., can't fork) */
#define EX_OSFILE       72      /* critical OS file missing */
#define EX_CANTCREAT    73      /* can't create (user) output file */
#define EX_IOERR        74      /* input/output error */
#define EX_TEMPFAIL     75      /* temp failure; user is invited to retry */
#define EX_PROTOCOL     76      /* remote error in protocol */
#define EX_NOPERM       77      /* permission denied */
#define EX_CONFIG       78      /* configuration error */
#define EX__MAX 78      /* maximum listed value */

使用示例

示例一 退出当前shell

$ exit logout

示例二 在脚本中,进入脚本所在目录,否则退出

Bash代码

#!/bin/bashcd $(dirname $0) || exit 1

示例三 在脚本中,判断参数数量,不匹配就打印使用方式,退出

if [ "$#" -ne "2" ]; thenecho "usage: $0 <area> <hours>"exit 2
fi

示例四 在脚本中,退出时删除临时文件

trap "rm -f tmpfile; echo Bye." EXIT

示例五 检查上一命令的退出码

./mycommand.shEXCODE=$?if [ "$EXCODE" == "0" ]; thenecho "O.K"
fi

Linux命令之exit相关推荐

  1. Linux命令之exit - 退出当前shell【返回值状态】

    用途说明 exit命令用于退出当前shell,在shell脚本中可以终止当前脚本执行. 常用参数 格式:exit n 退出.设置退出码为n.(Cause the shell to exit with ...

  2. linux退出当前目录命令,Linux命令之exit - 退出当前shell

    用途说明 exit命令用于退出当前shell,在shell脚本中可以终止当前脚本执行. 常用参数 格式:exit n 退出.设置退出码为n.(Cause the shell to exit with ...

  3. linux 运行c b停止,以下Linux命令中,用于终止某个进程的命令是()。A.deadB.killC.quitD.exit...

    以下Linux命令中,用于终止某个进程的命令是().A.deadB.killC.quitD.exit 更多相关问题 The substance does not dissolve in water _ ...

  4. linux:命令su、exit、sudo登入、退出用户、临时root权限详解。

    linux:命令su.exit.sudo登入.退出用户.临时root权限详解. 简单了解root用户:   su和exit:  sudo: sudo 使用时需要输入itheima的密码.输对了也不能使 ...

  5. Linux 命令(53)—— exit 命令(builtin)

    1.简介 exit 命令是 Shell 内建命令,用于退出当前 Shell 进程. 2.命令格式 exit N (1)状态码 N 的范围是 0-255,一般情况下,0 表示正常退出,非零表示异常退出. ...

  6. linux下free源码,linux命令free源码解读:Procps free.c

    linux命令free源码解读 linux命令free源码解读:Procps free.c 作者:isayme 发布时间:September 26, 2011 分类:Linux 我们讨论的是linux ...

  7. Linux命令行与shell脚本编程大全:第2版

    <Linux命令行与shell脚本编程大全:第2版> 基本信息 作者: (美)布卢姆(Blum,R.) 布雷斯纳汉(Bresnahan.C.) [作译者介绍] 译者: 武海峰 丛书名: 图 ...

  8. 执行远程linux命令,linux shell 远程执行命令

    经常要部署多台服务器上面的应用,如果一个个机器的登录太麻烦. 所有就想到编写一个脚本来部署不同的服务器 前提条件: 配置ssh免登陆 如果不会的请参加我的另外一篇文章 http://blog.csdn ...

  9. 最常用 150 个Linux命令汇总(建议收藏)

    点击上方[视学算法]→右上角[...]→[设为星标⭐] 来源:banana 童 www.cnblogs.com/bananaaa/p/7774467.html linux 命令是对 Linux 系统进 ...

最新文章

  1. Failed to load the native TensorFlow runtime.
  2. Unity架构有点乱
  3. Java----代码优化篇
  4. idea传入HttpServletRequest时显示cannot resolve symbol的问题
  5. 将jOOQ与JDBC比较
  6. java多线程编程_阿里P8熬到秃头肝出来的:Java多线程+并发编程核心笔记
  7. 559. N 叉树的最大深度
  8. OpenShift 4 - RBAC基于Role的访问授权
  9. Volley源码学习3--log类
  10. VB为MSHFlexGrid添加表格编辑功能
  11. Pannellum:实例之为全景图添加标题和作者
  12. PDFLib库的使用c++
  13. 错别字检测的软件有哪些?自动检查错别字的工具 文字校对 文本纠错 查错别字 校对软件 错别字检查 论文格式 在线校对
  14. 电力系统绝缘配合方法
  15. c语言中aver是什么意思_average函数_函数Average是什么意思
  16. 基于普中A2开发板(STC80C51单片机)呈现的中断小实验代码电路及其效果。
  17. Data too long for column解决方法
  18. python实现图片压缩_python如何实现图片压缩
  19. 图像中目标or内容疏密程度判断
  20. C语言中的%d、%u、%p、%f、%lu...

热门文章

  1. error C2365: : redefinition:previous definition was
  2. mipi协议中文详解
  3. python之for循环使用(奇数和、偶数和、最大公因数和最小公倍数、用户登陆系统)
  4. VMware被博通收购后:大中华区总裁上任仅9个月突然离职
  5. IDEA启动Tomcat报Unrecognized option: --add-opens=java.base/java.lang=ALL-UNNAMED
  6. 一.detach()
  7. Android9.0 Charles 模拟器抓包
  8. 【与达梦同行】达梦数据库主备集群搭建
  9. 垂直起降无人机 Gazebo + PX4 HITL simulation
  10. matlab求时域响应特性,实验四 线性系统时域响应分析