我正在使用以下选项
set -o pipefail
set -e
在 bash 脚本中停止执行错误。我有大约 100 行脚本正在执行,我不想检查脚本中每一行的返回码。
但是对于一个特定的命令,我想忽略该错误。我怎样才能做到这一点?
原文由 Vivek Goel 发布,翻译遵循 CC BY-SA 4.0 许可协议
我正在使用以下选项
set -o pipefail
set -e
在 bash 脚本中停止执行错误。我有大约 100 行脚本正在执行,我不想检查脚本中每一行的返回码。
但是对于一个特定的命令,我想忽略该错误。我怎样才能做到这一点?
原文由 Vivek Goel 发布,翻译遵循 CC BY-SA 4.0 许可协议
7 回答5.3k 阅读
4 回答4k 阅读
2 回答5.9k 阅读✓ 已解决
2 回答2.5k 阅读✓ 已解决
1 回答2.3k 阅读✓ 已解决
2 回答784 阅读✓ 已解决
2 回答3.2k 阅读
解决方案:
例子:
three
永远不会被打印。另外,我想补充一点,当
pipefail
开启时,当管道中的命令之一具有非零退出代码时,shell 认为整个管道具有非零退出代码就足够了(使用pipefail
关闭它必须是最后一个)。