多个表达式
虽然它是 XSI 标准的一个过时部分,但许多实现仍然支持使用布尔运算符和括号的多个表达式。
(废弃的)运算符与优先级递减如下所列。
( expression )
expression -a expression
expression -o expression
使用这些 (过时的)运算符 ,复杂的 shell 表达式:
if [ "$a" -gt 0 ] && { [ "$b" -ne 2 ] || [ "$b" -e 0 ]; }
then ...
fi
可以通过一次 test(1)
调用来编写:
if [ "$a" -gt 0 -a '(' "$b" -ne 2 -o "$c" -ne 0 ')' ]
then ...
fi