csh, exit, &&, || (was Re: exit(-1), 0 is sometimes magic)
Chris Torek
chris at mimsy.UUCP
Sun Jan 24 14:43:36 AEST 1988
(I overrode Rich's followup-to header, since there are buggy csh's out
there.)
In article <310 at fig.bbn.com> rsalz at bbn.com (Rich Salz) writes:
>The use of && and || in csh is the opposite of that in /bin/sh.
> /bin/sh -c "/bin/test -d foo || mkdir foo"
>Means if the foo directory doesn't exist, make it. ...
> /bin/csh -c "/bin/test -d foo || mkdir foo"
>will never make the directory, or mkdir will spit if it already exists.
BUZZ!
Sorry, contestant number 3.
:-)
Old versions of the C shell did indeed have this bug. It has been
fixed for years. If your C shell does this, complain to your vendor
(or upgrade from 3BSD!). I believe the documentation has always
claimed that the C shell's `&&' and `||' constructs work in the
same way as the Bourne shell's.
--
In-Real-Life: Chris Torek, Univ of MD Comp Sci Dept (+1 301 454 7163)
Domain: chris at mimsy.umd.edu Path: uunet!mimsy!chris
More information about the Comp.lang.c
mailing list