Jeff King wrote: > On Wed, Jul 04, 2007 at 03:36:01PM +0100, Johannes Schindelin wrote: > >> It is slightly ugly that the output of msg-filter is written >> to a temporary file. But I do not know a better method to >> catch a failing msg-filter. Help? > > If you mean, in general, to catch the exit code of the first part of a > pipe, you have to do something like this: > > status=`((cmd1; echo $? >&3) | cmd2) 3>&1` > > which is pretty ugly in itself, and if you want the stdout of cmd2, then > you have to add even more redirection. I'm not sure it's worth it. bash has "set -o pipefail", but that would require bash. However, you could try setting pipefail, and ignoring any failure to set it; that would give the more friendly behavior with bash, while still allowing any /bin/sh in general. - Josh Triplett
Attachment:
signature.asc
Description: OpenPGP digital signature