Thursday, December 22, 2022

[FIXED] How to do complex conditionals in Bash (mix of 'and' &&, 'or' || ...)

Issue

How do I accomplish something like the following in Bash?

if ("$a" == "something" || ($n == 2 && "$b" == "something_else")); then
  ...
fi

Solution

You almost got it:

if [[ "$a" == "something" || ($n == 2 && "$b" == "something_else") ]]; then

In fact, the parentheses can be left out because of operator precedence, so it might also be written as

if [[ "$a" == "something" || $n == 2 && "$b" == "something_else" ]]; then


Answered By - Niklas B.
Answer Checked By - Timothy Miller (PHPFixing Admin)

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.