我越来越喜欢在我的 shell 脚本中的函数之间使用类似生成器的模式。像这样:
parse_commands /da/cmd/file | process_commands
然而,这种模式的基本问题是,如果 parse_command 遇到错误,我发现通知 process_command 它失败的唯一方法是明确地告诉它(例如 echo "FILE_NOT_FOUND")。这意味着 parse_command 中的每个潜在错误操作都必须被隔离。
process_command 是否无法检测到左侧以非零退出代码退出?
最佳答案
在 bash 脚本之上使用 set -o pipefail
,这样当管道的左侧失败时(退出状态!= 0),右侧不会执行。
关于bash - 将左侧故障通知管道的右侧?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6565694/