shell脚本中set -e作用

2022-12-15,,,

最近学习shell脚本想到一个问题,如果脚本中出现了一条异常语句,甚至可以影响整个脚本的使用,那么是否有一旦出现问题就可以及时停止的方法呢?在shell脚本中set命令就可以轻松实现。set命令的-e参数,linux系统自带的说明是:"Exit immediately if a simple command exits with a non-zero status.",也就是说,在"set -e"之后出现的代码,一旦出现了返回值非零,整个脚本就会立即退出,那么就可以避免一些脚本的危险操作。

实验如下:

#!/bin/sh
#set -e
ls /data/leo
echo $?
./ex1.sh

如果没有使用set -e,在ls /data/leo语句时会提示找不到文件,但会继续执行下一条语句

使用了set -e后,在ls /data/leo语句时依然会提示找不到文件,但不会执行下一条语句了

补充:关于exit 0 exit 1以及echo $?说明
exit 0---是正常退出的命令
exit 1---是非正常退出的命令
echo $?获取上次命令执行的结果,如果是0就是正常执行,如果非0就是执行出现了异常

shell脚本中set -e作用的相关教程结束。

《shell脚本中set -e作用.doc》

下载本文的Word格式文档,以方便收藏与打印。