如何查看当前的 shell/sh/bash 状态以了解它是 set -e 还是 set +e?

问题描述

如果发生错误,我们使用 set -e 停止 shell 脚本,并使用 set +e 将其关闭

我的问题是如何知道这个 -e/+e 的当前状态?

我的 google searchstackoverflow search 结果帮助不大,所以我在这里问。

解决方法

与测试任何其他 set 标志相同的模式:

case $- in
  *e*) echo "set -e is enabled";;
  *)   echo "set -e is not enabled";;
esac

查看ref