function safe_source() { > local saved_opts=$- > local pipefail_on=0 > > # Check if pipefail is set using 'shopt' > if (set -o | grep -q 'pipefail *on'); then >
'on' or 'off' is preceded by a tab character, plus arbitrary padding spaces, so that won't work. But it's a suboptimal approach to begin with. To check a shell option such as pipefail, pick one of these: [[ -o pipefail ]] shopt -qo pipefail [[ :$SHELLOPTS: = *:pipefail:* ]] -Martin