我正在使用手册页进行“测试”。除了以下两行之外,我明白了所有内容。有人能给我一个如何实际使用它的例子吗,因为到目前为止我一直在使用一维测试(即在我的测试中是 x = y 之类的东西),所以比较表达式在我的脑海中没有多大意义。我想如果有人能给我展示一个例子或用例我就会明白。
EXPRESSION1 -a EXPRESSION2
both EXPRESSION1 and EXPRESSION2 are true
EXPRESSION1 -o EXPRESSION2
either EXPRESSION1 or EXPRESSION2 is true
答案1
-a
并-o
连接两个表达式,IE可以独立使用的完整表达式test
。因此
test "$x" = foo -o "$x" = bar
成功,如果
test "$x" = foo
或者
test "$x" = bar
会成功的,IE "$x"
是foo
或bar
。
这可能是不明确的,所以-a
并-o
已弃用,并且应该使用 shell 的运算符:
test "$x" = foo || test "$x" = bar
更常见的是,这会写成
[ "$x" = foo ] || [ "$x" = bar ]
看POSIX sh 条件中逻辑或评估的意外结果-o
以令人困惑的方式使用的示例。