## 脚本退出(exit命令)
* Linux 中,每个命令执行完成后都会返回一个退出状态码,通知系统命令执行完成。
退出状态码是 0~255 的一个正整数,在命令执行结束后由命令传给解释程序。
通常情况下,可以根据这个值来判断命令是否执行成功。Linux 提供了变量` $? `存最近执行的命令的退出状态码,当一个命令执行完成后,
可以通过` $? `到命令的退出码,如下:
* 通过变量$?查看命令执行的退出码
cd /home/hadoop01/bash01
echo "$?"
mkdir logs
echo "$?"
* 常见的命令退出状态码:
| 状态码 |
说明 |
| 0 |
命令成功结束 |
| 1 |
未知错误 |
| 2 |
误用 Shell 命令 |
| 126 |
命令不可执行 |
| 127 |
命令没有找到 |
| 128 |
无效退出参数 |
一个命令成功执行结束返回的状态码是 0,如果命令执行出现错误会返回一个非 0 的正整数。
### 一、exit 命令
如果只在命令提示符下键入 exit,将退出当前进程。如果在脚本中使用 exit 命令,会将
exit 命令之前的一个命令退出码返回。通常情况下:退出状态为 0 表示命令执行成功,而非 0 退出码说明命令没有执行成功。
* 可以使用 exit 命令在脚本中指定退出码,如下所示。
cd /home/hadoop01/bash01
mkdir logs
exit 0
* 命令 exit 可以在分支语句中使用,根据条件退出脚本执行并返回退出码,在父脚本中作
为判断的条件。注意:**退出码可以指定,但不要超过取值范围**。退出码的取值范围是
0~255,如果超出范围会返回 256 的余数。
if 创建目录
then
cd 目录
创建文件
else
exit 1
fi
* 例子:在命令行上测试命令执行后的退出码
* 例子:在脚本中,返回的退出码是最后一条命令的退出码