rank1see...@gmail.com wrote:
> There is something wrong with tcsh shell:
> 
> # mergemaster -V | grep '\--run-updates'
>     Returned exit code 1
> # mergemaster -V | grep -q '\--run-updates'
>     Returned exit code 141

I believe this has been a feature of csh and tcsh since the dark ages.
Negative status codes propagate through pipelines (and through backtick
sub-commands as well). In fact the returned $status value is the value
of the last command that returned an error (non-zero) status code.
This makes it easy to determine if a pipeline command sequence has
failed.

The 141 status code indicates a sigpipe: the pipeline was not completely
read (as described in the grep manual for this case). This also is the
common exit code when using head(1) for example.

This error-propagation behaviour can be suppessed with 'unset anyerror'
in tcsh. In that case it should work as you expect. But note that your
commands are no longer compatible with 'good old' csh behaviour then.


Regards,
Johan

Attachment: pgpPINcqryZSe.pgp
Description: PGP signature

Reply via email to