Bourne shell short-circuit operators improperly documented
Adrian Wontroba
aw1 at stade.co.uk
Sat Jul 18 00:38:43 UTC 2009
On Fri, Jul 17, 2009 at 04:57:12PM -0600, Brett Glass wrote:
> Short-Circuit List Operators
> ``&&'' and ``||'' are AND-OR list operators. ``&&'' executes the first
> command, and then executes the second command if the exit status of the
> first command is zero. ``||'' is similar, but executes the second com-
> mand if the exit status of the first command is nonzero. ``&&'' and
> ``||'' both have the same priority.
>
> This is exactly backward.
No it is succinctly correct but confusing (the UNIX way?). These
operators work on exit codes where 0 = success = true and and !0 =
failure = false.
[aw1 at steerpike ~]$ sh
$ true && echo true
true
$ false || echo false
false
$ true; echo $?
0
$ false; echo $?
1
$ exit
--
Adrian Wontroba
Confused? You will be. Just watch ...
More information about the freebsd-chat
mailing list