如何禁用set -e和set -o

iba*_*alf 2 unix bash

所以我在bash脚本文件(-e和-o)的开头有这个。但是,在某些功能中,我希望它不会退出。例

set -e
set -o pipefail

function check_status {
    echo "Start Check"
    docker exec mservice bash -c "echo 'Hello' | grep 'fail'"
    echo "End check"
}

check_status
Run Code Online (Sandbox Code Playgroud)

我如何防止它退出脚本-基本上,如果我运行它,它将打印出“开始检查”,但是由于下一条命令返回“ 1”而退出。

我希望能够在多个位置或不同功能中禁用和启用set -e / -o。

小智 6

对于所有选项,相反的set -set +(注意加号)。

因此,set +e撤消set -eset +o pipefail将撤消set -o pipefail