如何在bash中使用复杂条件句?(混合使用';和';、';或';| |……)

如何在bash中使用复杂条件句?(混合使用';和';、';或';| |……),bash,syntax,conditional,Bash,Syntax,Conditional,我如何在bash中实现以下内容 if ("$a" == "something" || ($n == 2 && "$b" == "something_else")); then ... fi 你几乎成功了: if [[ "$a" == "something" || ($n == 2 && "$b" == "something_else") ]]; then 事实上,由于运算符的优先级,括号可以省略,因此它也可以写成 if [[ "$a" == "someth

我如何在bash中实现以下内容

if ("$a" == "something" || ($n == 2 && "$b" == "something_else")); then
  ...
fi
你几乎成功了:

if [[ "$a" == "something" || ($n == 2 && "$b" == "something_else") ]]; then
事实上,由于运算符的优先级,括号可以省略,因此它也可以写成

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

POSIX外壳一致性:
if[“$a”=“某物”-o\($n-等式2-a“$b”=“某物”\);然后回应是;fi
非常愚蠢,
[
没有使用
[
作为分组子表达式的括号,不是吗。
if [[ "$a" == "something" || $n == 2 && "$b" == "something_else" ]]; then