`

Linux 命令exit - 退出当前shell

 
阅读更多
from:
http://blog.163.com/bobile45@126/blog/static/96061992201311712658570/

用途说明
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
C代码  收藏代码
#define EXIT_FAILURE    1       /* Failing exit status.  */ 
#define EXIT_SUCCESS    0       /* Successful exit status.  */ 

BSD试图对退出码标准化。
man 3 exit 写道
BSD has attempted to standardize exit codes; see the file <sysexits.h>.


以下摘自/usr/include/sysexits.h
C代码  收藏代码
#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
[root@new55 ~]#
[root@new55 ~]# exit
logout

示例二 在脚本中,进入脚本所在目录,否则退出
Bash代码  收藏代码
cd $(dirname $0) || exit 1 

示例三 在脚本中,判断参数数量,不匹配就打印使用方式,退出
Bash代码  收藏代码
if [ "$#" -ne "2" ]; then 
    echo "usage: $0 <area> <hours>" 
    exit 2 
fi 

示例四 在脚本中,退出时删除临时文件
Bash代码  收藏代码
trap "rm -f tmpfile; echo Bye." EXIT 

示例五 检查上一命令的退出码
Bash代码  收藏代码
./mycommand.sh 
EXCODE=$? 
if [ "$EXCODE" == "0" ]; then 
    echo "O.K" 
fi 
分享到:
评论

相关推荐

    sqlite-shell-linux-x86-3080500.zip

    "sqlite-shell-linux-x86-3080500.zip" 是针对Linux平台的x86架构的SQLite3命令行接口的压缩包,版本号为3.8.5。这个压缩包包含了一个名为"sqlite3"的可执行文件,它是用于管理和操作SQLite数据库的shell程序。 ...

    Linux常用命令大全-完整版.doc

    exit命令用来退出当前shell,返回到上一级shell或关闭终端。 6. finger: 显示用户信息,例如finger username finger命令用来显示用户的信息,例如用户名、姓名、邮箱、电话号码等。 7. free: 显示系统的内存和交换...

    Linux操作实验-初步了解Linux的命令格式

    - 退出Linux系统:`exit` #### 三、文件维护命令 **实验目的:** - 实习几个基本的文件维护命令。 **知识点:** - **常用文件维护命令:** - `ls`:列出目录内容。 - `pwd`:显示当前工作目录。 - `cd`:改变...

    exit命令 退出shell

    exit命令用来退出当前的shell或退出终端 ,并返回给定值。 执行exit可使shell以指定的状态值退出。若不设置状态值参数,则shell以预设值退出。状态值0代表执行成功,其他值代表执行失败。状态值参数多用于脚本中,在...

    学习Linux---不得不知的Linux命令

    exit - 退出shell `exit` 命令用于退出当前的shell会话。例如: ``` exit ``` #### 55. sync - 强制同步内存到磁盘 `sync` 命令用于强制将内存中的数据同步到磁盘。例如: ``` sync ``` #### 56. df - 显示磁盘...

    linux实验报告-shell编程-平方与菜单实现整理.pdf

    "Linux 实验报告 - shell 编程 - 平方与菜单实现整理" 本实验报告主要涵盖了 Linux 操作系统中的 shell 编程,着重于平方值计算和菜单实现的编程技巧。 一、实验目的及要求 本实验的目的是掌握 shell 编程的方法...

    linux命令详解阿手册PDF文档

    - exit:退出当前shell。 - finger:显示系统用户的详细信息。 - free:显示系统的内存和交换空间使用情况。 - groupdel:删除一个用户组。 - groupmod:修改一个用户组的属性。 - halt:停止所有系统进程并...

    Linux命令操作实验-文件目录.pdf

    * 使用 exit 命令退出 csh shell 并返回到 bash shell * 使用 find 命令在系统的根目录下寻找文件,例如查找文件名第一个字符为任意字符,后面是 "asswd" 的文件 * 使用 ls 命令列出 /etc 目录下的所有以 ".conf" ...

    Linux命令详解手册

    - exit命令退出当前shell环境; - finger用于查看用户信息; - free命令用来显示系统内存的使用情况; - halt和reboot命令用于关闭和重启系统; - id命令显示用户识别信息; - kill命令向进程发送信号; - last和...

    linux命令手册.pdf

    5. **exit** - 退出当前的shell或终端会话。这对于远程登录或者在图形界面下的终端窗口尤其有用。 6. **finger** - 提供关于其他用户的详细信息,包括他们的登录名、全名、电子邮件地址、空闲时间等。 7. **free**...

    Linux命令操作实验-文件目录.docx

    退出 csh,回到 bash:使用 `exit` 命令可以退出 csh shell,回到 bash shell。 二、目录和文件命令 Linux 中的目录和文件命令是非常重要的,它们可以帮助我们管理和操作文件和目录。 1. 文件和目录的操作命令:...

    linux命令linux命令大全

    Linux 命令大全 Linux 命令是对 Linux 系统进行管理...* #exit:退出当前 Shell 会话 * #ctrl+d:退出当前 Shell 会话 Linux 命令大全提供了 Linux 系统管理的基本命令和概念,帮助用户更好地理解和使用 Linux 系统。

    linuxB-shell

    在Linux系统中,Bash(Bourne-Again SHell)是默认的命令解释器,是用户与操作系统交互的重要工具。Bash shell脚本是一种强大的编程语言,它允许用户编写自动化任务,执行日常管理任务,或者创建复杂的系统服务。...

    Linux命令大全完整版.pdf

    - exit命令退出当前shell环境。 - finger命令显示用户信息。 - free命令显示系统内存使用情况。 - ps命令用于显示当前运行的进程状态。 - kill命令发送信号给进程。 - useradd、userdel、usermod分别用于添加、删除...

    linux命令大全完整版

    5. **exit**:关闭当前shell会话或退出登录状态,结束用户与系统的交互。 6. **finger**:提供关于指定用户的详细信息,如用户名、终端、登录时间、最后在线时间等。 7. **free**:显示系统内存的使用情况,包括总...

    linux操作系统-超详细命令解释及演示

    查看当前Shell类型可以使用`echo $SHELL`,切换Shell则通过`exit`或`Ctrl+d`退出当前会话。 4. **Bash的功能和特点** - **Bash命令**:包括`pwd`显示工作目录,`mkdir`创建目录,`cd`改变目录,`su`切换用户等。...

    linux - Advanced Bash Shell Scripting Guide

    1. **Shell基础知识**:首先,你需要了解Shell的基本概念,包括Shell的启动、退出、命令历史记录、环境变量以及如何设置Shell选项。理解这些基本概念将为你提供编写脚本的基础。 2. **命令行参数和变量**:学习如何...

    linux系统命令-个人总结

    使用`exit`或`logout`命令退出当前登录的shell会话。 #### 1.3 修改口令 使用`passwd`命令可以修改当前用户的密码,如果是root用户,也可以为其他用户修改密码:`passwd username`。 ### 第三章 目录操作命令 ###...

    dos命令与linux的命令

    5. **退出Shell**:在DOS和Linux中,退出命令提示符都是`exit`。 6. **日期和时间**:DOS的`date`和`time`命令在Linux中依然保留,但命令行为`date`和`date`,用于显示和设置日期及时间。 7. **删除文件**:DOS的`...

    unix、Linux命令解释程序 shell

    - `exit`:退出Shell。这个命令会结束当前的Shell会话,将控制权返回给父进程,通常是终端模拟器。 2)支持后台命令:在Linux中,我们可以通过在命令后面加上`&`来将命令放入后台执行。例如,`command &`会让命令...

Global site tag (gtag.js) - Google Analytics