我使用过的Linux命令之exit - 退出当前shell
本文链接:http://codingstandards.iteye.com/blog/836625
(转载请注明出处)
用途说明
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. */
BSD试图对退出码标准化。
man 3 exit 写道
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
[root@new55 ~]#
[root@new55 ~]# exit
logout
示例二 在脚本中,进入脚本所在目录,否则退出
cd $(dirname $0) || exit 1
示例三 在脚本中,判断参数数量,不匹配就打印使用方式,退出
if [ "$#" -ne "2" ]; then
echo "usage: $0 <area> <hours>"
exit 2
fi
示例四 在脚本中,退出时删除临时文件
trap "rm -f tmpfile; echo Bye." EXIT
示例五 检查上一命令的退出码
./mycommand.sh
EXCODE=$?
if [ "$EXCODE" == "0" ]; then
echo "O.K"
fi
问题思考
相关资料
【1】91linux Linux exit 命令
【2】曲径通幽 [概念]exit n
【3】Linux大学 Bash Shell Exit Status Tutorial with Practical Examples
返回 我使用过的Linux命令系列总目录
分享到:
相关推荐
exit命令用来退出当前的shell或退出终端 ,并返回给定值。 执行exit可使shell以指定的状态值退出。若不设置状态值参数,则shell以预设值退出。状态值0代表执行成功,其他值代表执行失败。状态值参数多用于脚本中,在...
CMD命令:开始->运行->键入cmd或command(在命令行里可以看到系统版本、文件系统版本) 命令大全 1. gpedit.msc-----组策略 2. sndrec32-------录音机 3. Nslookup-------IP地址侦测器 ,是一个 监测网络中 DNS...
前面介绍了Linux下有多种Shell,一般缺省的是Bash,如果想更换Shell类型可以使用chsh命令。先输入账户密码,然后输入新Shell类型,如果操作正确系统会显示“Shell change”。其界面一般如下: Changing fihanging ...
应用UNIX的fork()等系统调用,...输入exit或者bye退出);返回父进程; b) 处理后台程序(不需要wait) c) 处理多行命令(分析命令行中的‘;’并处理之) d)应用 dup(), pipe()系统调用具有输入输出重定向以及管道功能
编写一个C语言程序作为Linux内核的shell命令行解释程序,所执行的结果需和系统命令行方式保持一致。 增加后台运行功能。即用户可以使用”&”作为一个命令结束,以启动下一个命令。 增加I/O重定向功能。即用户可以...
退出当前shell,输入:exit 2. useradd netseek 添加一个netseek用户 passwd netseek 给netseek这个用户设置密码. (/etc/passwd /etc/group) userdel netseek 删除账号 userdel -r netseek 删除账号连同自家目录...
1、掌握Linux下常用网络命令的使用 2、掌握IP地址、子网掩码、网关的设置 3、掌握主机名、DNS域名解析的设置 4、配置 DNS 服务器。 5、配置Apache服务器 二、 实验步骤 Linux下常用网络命令的使用: 打开 Shell ...
输入exit或者bye退出);返回父进程; b) 处理后台程序(不需要wait) c) 处理多行命令(分析命令行中的‘;’并处理之) d)应用 dup(), pipe()系统调用具有输入输出重定向以及管道功能;
re/cd/ls/man这四个命令拥有命令选项,在使用命令选项的规则统一是:xx-uuff其中xx代表命令,-代表分隔符是必须的,uu代表命令选项,ff代表具体需求的字符。 pwd/history/help/exit是单个输入的命令,没有命令选项。...
使用命令替换来产生for循环的[list] 10-7. 对于二进制文件的一个grep替换 10-8. 列出系统上的所有用户 10-9. 在目录的所有文件中查找源字串 10-10. 列出目录中所有的符号连接文件 10-11. 将目录中的符号连接文件名...
linux部署服务器常用命令 fdisk -l 查分区硬盘 df -h 查空间硬盘 cd / 进目录 ls/ll 文件列表 vi tt.txt i=insert 插入 shift+: 进命令行 wq 保存%退出 cat tt.txt 内容查看 pwd 当期目录信息 mkdir tt建目录 cp tt....
退出当前shell,输入:exit 2.useradd netseek 添加一个netseek用户 passwd netseek 给netseek这个用户设置密码. (/etc/passwd /etc/group) userdel netseek 删除账号 userdel -r netseek 删除账号连同自家目录....
基础知识介绍 shell shell俗称壳,它包裹在内核的外面,是用户命令的翻译官。 作用:接收用户的命令,翻译后(处理一下)交给Linux内核处理。...exit #退出当前shell 命令的基本格式 一般的命令组成:
由于退出状态由程序编写者定义,因此退出状态也可能不是0或1,遇到这种情况时,需要查阅相关说明文件了解具体含义.####退出状态设置在脚本中设置退出状态需要使用exit命令,其常见的使用形式及对应的含义如下:exit 0:...
它执行I / O重定向,允许您使用&符号在后台运行进程,并且还具有一个名为“状态”的命令,该命令显示最新命令的退出值,并显示“ cd”以更改目录。 在提示输入新命令之前,shell将等待前景命令(不带&的命令)...
天蓝色的壳 交互式Azure CLI 2.0命令行界面。 [注意]可以在找到Microsoft官方的Azure CLI 2.0 产品特点 自动完成Azure CLI组,子组,命令和参数 语法高亮 ...您可以通过输入exit或quit退出azure-she
Classic Shell 一款将Windows 7和Windows 8开始菜单方便的...5、然后再次在开始菜单图标上点击鼠标右键,在弹出的菜单中选择“Exit”退出程序,然后再次重新启动程序即可!或者重新启动电脑或者注销当前用户也可以的!
一个简单的shell解释程序,能完成简单的命令解析,支持管道,重定向,前后台任务,历史查看,exit退出she
第三章 Shell命令使用 3.1 控制台相关命令 clear 命令 echo 命令 yes 命令 3.2 目录操作命令 cd 命令 pwd 命令 mkdir 命令 rmdir 命令 3.3 文件操作命令 ls 命令 touch 命令 cat 命令 more 和 less 命令...