Possible Duplicate:
Get exit code of process that's piped to another
If I pipe the output of one command into another, is there a way for me to check explicitly whether the first command failed?
For example, if prog
processes a file and outputs to STDOUT:
prog file1 | cmp - file2
is there a way to check if prog
explicitly failed or succeeded (by return code)? I want to avoid the use of temporary files, and don't want to rely on the output of the second command; so, for the example above, I want to avoid examining the output of cmp
to determine if prog
failed (if there is no affirmative answer to my question, I'll just fall back to doing precisely that).
PIPESTATUS
– Ulrich Dangel Jun 01 '12 at 20:02