- set实验
#!/bin/bash
echo 'disable exit on non-zero return status and pipefail track'
set +e
set +o pipefail
a=$[1/0]|b=2
echo 'return status = '$?
echo 'disable exit on non-zero return status but enable pipefail track'
set +e
set -o pipefail
a=$[1/0]|b=2
echo 'return status = '$?
echo 'enable exit on non-zero return status and pipefail track'
set -e
set -o pipefail
a=$[1/0]|b=2
echo 'return status = '$?
输出:
disable exit on non-zero return status and pipefail track
testset.sh: 行 6: 1/0: 除0 (错误符号是 “0”)
return status = 0
disable exit on non-zero return status but enable pipefail track
testset.sh: 行 12: 1/0: 除0 (错误符号是 “0”)
return status = 1
enable exit on non-zero return status and pipefail track
testset.sh: 行 18: 1/0: 除0 (错误符号是 “0”)