set +e:在该命令后遇到非零的返回值时,会继续向下执行
set -e:在该命令后遇到非零的返回值时,会直接退出
在bash中默认为set +e
当执行set -e命令后遇到非零的返回值会直接登出shell命令行。
[root@localhost-5 ~]# mkdir /root/
mkdir: 无法创建目录"/root/": 文件已存在
[root@localhost-5 ~]# echo $?
1
[root@localhost-5 ~]# set -e
[root@localhost-5 ~]# mkdir /root/
mkdir: 无法创建目录"/root/": 文件已存在
Connection closed.
Disconnected from remote host(192.168.3.5) at 10:54:39.
# 当执行set -e后遇到非零返回值,直接登出shell了。
在shell脚本中可以使用set +e 和set -e来优化脚本