我使用以下选项
set -o pipefail
set -e
在bash脚本中,在出现错误时停止执行.我有大约100行正在执行的脚本,我不想判断脚本中每一行的返回代码.
但是对于一个特定的命令,我想忽略这个错误.我该怎么做?
我使用以下选项
set -o pipefail
set -e
在bash脚本中,在出现错误时停止执行.我有大约100行正在执行的脚本,我不想判断脚本中每一行的返回代码.
但是对于一个特定的命令,我想忽略这个错误.我该怎么做?
解决方案是:
particular_script || true
例子:
$ cat /tmp/1.sh
particular_script()
{
false
}
set -e
echo one
particular_script || true
echo two
particular_script
echo three
$ bash /tmp/1.sh
one
two
three
永远不会被打印出来.
另外,我想补充一点,当pipefail
开启时,
$ set -o pipefail
$ false | true ; echo $?
1
$ set +o pipefail
$ false | true ; echo $?
0