有没有办法在管道命令中发现故障?

rev*_*t09 3 error-handling bash shell pipe

这是我想要实现的一个例子:

#!/bin/bash
set -e    # abort if error
...
command1 2>&1 | command2
...
Run Code Online (Sandbox Code Playgroud)

而且我注意到有时会command1失败,但是command2没有,而且shell脚本开心地继续...如果我不必在这里使用管道,set -e那就足够了但是现在它不适用于那里的管道......

有什么想法吗?谢谢

Rez*_*aee 6

由于您使用的是bash,除了set -e您还可以添加set -o pipefail以获得您想要的结果...