21

如何在 Bash 中完成类似以下的操作?

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

2 回答 2

31

你几乎明白了:

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

实际上,由于运算符优先级,括号可以省略,因此也可以写为

if [[ "$a" == "something" || $n == 2 && "$b" == "something_else" ]]; then
于 2012-04-23T22:07:28.520 回答
2
if [[ "$a" == "something" ]] || [[ $n == 2 && "$b" == "something_else" ]]; then
  ...
fi
于 2012-04-23T22:04:39.507 回答