On Fri, Nov 14, 2014 at 11:48:36AM -0800, Michael Blume wrote:
> My understanding is that && and || have equal precedence, and this
> seems to be borne out in testing at my shell. If the if/then method is
> clearer I'm happy to go with that.
I think the problem is that there are earlier parts of the chain. It
currently looks like:
foo &&
bar &&
do_something
but you are making it:
foo &&
bar || baz &&
do_something
which will do_something whether or not "foo" is true. You need to put
your "||" at a lower precedence than the rest of the chain. The "if"
that Johannes mentioned works, though I think
test_have_prereq PERL &&
{
test "$(uname -s)" != Darwin ||
test "$(uname -r | cut -d. -f1)" -ge 13
} &&
...
is more obvious to read (but that's subjective, of course).
-Peff
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html