Reputation: 37175
How do I accomplish something like the following in Bash?
if ("$a" == "something" || ($n == 2 && "$b" == "something_else")); then
...
fi
Upvotes: 25
Views: 22426
Reputation: 95318
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
Upvotes: 37
Reputation: 37175
if [[ "$a" == "something" ]] || [[ $n == 2 && "$b" == "something_else" ]]; then
...
fi
Upvotes: 3