bash 中的以下条件表达式有什么问题?

Sky*_*eSM 2 bash comparison conditional

bash 中的以下条件表达式有什么问题?

if [[ -z $x -o $x -ge 100 -o $x -le -100 ]]; then
        echo $x "\t" $i
fi
Run Code Online (Sandbox Code Playgroud)

我 在 -o 附近的
条件表达式
语法错误中收到以下错误语法错误

谢谢。

Foo*_*Bah 7

||就像这样使用:

if [[ -z $x || $x -ge 100 || $x -le -100 ]]; then
Run Code Online (Sandbox Code Playgroud)

the[是 test 的同义词——事实上,在某些系统中,/bin/[ 指向 /bin/test:

$ which [
/usr/local/bin/[
Run Code Online (Sandbox Code Playgroud)

-o测试标志确实OR

(bash 内置)的-o标志[[检查是否设置了 shell 选项[例如-o vi用于 vi 编辑]