bash中的以下条件表达式有什么问题?
if [[ -z $x -o $x -ge 100 -o $x -le -100 ]]; then
echo $x "\t" $i
fi
我收到以下错误
条件表达式中的语法错误
-o
感谢。
答案 0 :(得分:4)
像这样使用||
:
if [[ -z $x || $x -ge 100 || $x -le -100 ]]; then
[
是测试的同义词 - 事实上,在某些系统中,/ bin / [指向/ bin / test:
$ which [
/usr/local/bin/[
测试的-o
标志执行OR
-o
的{{1}}标志(bash内置)检查是否设置了shell选项[例如用于vi编辑的[[
]