A variável $SHELLOPTS
contém todas as opções definidas separadas por dois pontos. Por exemplo, pode parecer
braceexpand:emacs:hashall:histexpand:history:interactive-comments:monitor
Para verificar uma determinada opção, pode-se fazer o seguinte:
# check if pipefail is set, if not set it and remember this
if [[ ! "$SHELLOPTS" =~ "pipefail" ]]; then
set -o pipefail;
PIPEFAIL=0;
else
PIPEFAIL=1;
fi
# do something here
# reset pipefail, if it was not set before
if [ "$PIPEFAIL" -eq 0 ]; then
set +o pipefail;
fi