bash - 将左侧故障通知管道的右侧?

标签 bash pipe pipeline

我越来越喜欢在我的 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/

相关文章:

python - 无法使用 Fabric 和 nohup 真正后台 SSH 隧道

linux - 在 bash 脚本上做完整的工作流

jenkins - 具有多个命名空间的 Kubernetes 集群上下文

camera - Gstreamer ffdec_h264 缺失

powershell - PowerShell:RunSpace.SessionStateProxy.SetVariable未设置变量

linux - 如何使用 bash 脚本替换文件名中的空格

python - 将两行中的值附加到 key 对中

bash - 如何将所有输出重定向到/dev/null?

c - 我们是否需要显式关闭写端已经关闭的管道的读端?

node.js - 如何修改管道以返回自定义响应?