我使用以下选项
设置-o管道故障
set-e
在bash脚本中,在出现错误时停止执行。我有大约100行脚本正在执行,我不想检查脚本中每一行的返回代码
但是对于一个特定的命令,我想忽略这个错误。我该怎么做
解决方案:
特定脚本| |正确
例如:
$cat/tmp/1.sh
特殊脚本()
{
错误的
}
set-e
回声一号
特殊脚本| |正确
回声二号
特殊_脚本
回声三号
$bash/tmp/1.sh
一
二
三个将永远不会打印
另外,我想补充一点,当启用pipefail时,
shell认为整个管道具有非零出口代码就足够了
当管道中的一个命令具有非零退出代码时(当pipefail关闭时,它必须是最后一个命令)
$set-o管道故障
$false | true;回声$?
1.
$set+o管道故障
$false | true;回声$?
0