Re: Conditionals in BASH

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Matthew Saltzman wrote:
The conditionals && and || in bash are short-circuit, so that once a
term is evaluated that determines the success or failure of the entire
expression, evaluation of the remaining alternatives is skipped.

In a test expression (enclosed in [ ... ]), are the conditionals -a and
-o also short-circuit?  The O'Reilly BASH book seems to suggest that
they are not, but the description seems to me to be ambiguous.

To my knowledge, all conditionals are evaluated left-to-right.  As
soon as one comparison fails, there is no need to evaluate the remainder
as the true-false condition has been met and the test is aborted with
a "false" result.  The only time the right-most comparison (or top level
comparison if nested) is evaluated is if all other comparisons are
true.

----------------------------------------------------------------------
- Rick Stevens, Systems Engineer                       rps2@xxxxxxxx -
- Hosting Consulting, Inc.                                           -
-                                                                    -
-  Diplomacy: The art of saying "Nice doggy!" until you can find a   -
-                            big enough rock.                        -
----------------------------------------------------------------------


[Index of Archives]     [Current Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]     [Fedora Docs]

  Powered by Linux