Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 26 Jun 2005 11:27:02 +0300
From:      Vasil Dimov <vd@datamax.bg>
To:        hackers@freebsd.org
Subject:   /bin/sh -e function parsing strangeness
Message-ID:  <20050626082702.GA76984@sinanica.bg.datamax>

next in thread | raw e-mail | index | archive | help
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1


Can anyone explain this:

% sh -ec 'f() { return 5 ; } ; if f ; then echo tt ; else echo ff ; fi'
ff
% sh -ec 'f() { return 5 ; : ; } ; if f ; then echo tt ; else echo ff ; fi'
% echo $?
5

If any commands appear after the return statement in a function,
then -e flag triggers untested command failure although function call is
tested with `if' statement.

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

iD8DBQFCvmbWFw6SP/bBpCARAo2GAJ9DT0FeeUEbweidCklxj8V8uEeXHQCgmNd7
pT2zbB8UF9TClhRUWpyZyf4=
=Alpo
-----END PGP SIGNATURE-----



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