Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 23 Jun 2012 19:14:07 +0200
From:      Johan van Selst <johans@stack.nl>
To:        rank1seeker@gmail.com
Cc:        hackers@freebsd.org
Subject:   Re: tcsh's exit codes
Message-ID:  <20120623171407.GA32232@mud.stack.nl>
In-Reply-To: <20120622.192538.734.2@DOMY-PC>
References:  <20120622.192538.734.2@DOMY-PC>

next in thread | previous in thread | raw e-mail | index | archive | help

--AhhlLboLdkugWU4S
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

rank1seeker@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

--AhhlLboLdkugWU4S
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----

iF4EAREIAAYFAk/l+V4ACgkQAEpMHW8nCPTzagD/YrtplIISlVDTgfVjxCpVeS1s
7oK6OJ5+AoIfx09ra8sA/iGXuJEuhRx2LTZQFfIEwch1foGDiOIqzW64fII/ZENg
=Dliq
-----END PGP SIGNATURE-----

--AhhlLboLdkugWU4S--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120623171407.GA32232>