Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unix if语句的多个条件_Unix_If Statement_Syntax_Conditional Statements - Fatal编程技术网

Unix if语句的多个条件

Unix if语句的多个条件,unix,if-statement,syntax,conditional-statements,Unix,If Statement,Syntax,Conditional Statements,我想用多个条件做一个if语句,但不起作用,我测试了它。每个LOC变量都包含一个整数。我认为问题在于语法。我正在做一个bash脚本 if ((([ "$LOC_B_REF" -lt "$LOC_A_Q" ] && [ "$LOC_A_Q" -lt "$LOC_A_REF" ]) && [ "$LOC_B_REF" -gt "$LOC_B_Q" ]) && [ "$LOC_B_Q" -gt "$LOC_A_REF" ]) then ###do my

我想用多个条件做一个if语句,但不起作用,我测试了它。每个LOC变量都包含一个整数。我认为问题在于语法。我正在做一个bash脚本

if ((([ "$LOC_B_REF" -lt "$LOC_A_Q" ] && [ "$LOC_A_Q" -lt "$LOC_A_REF" ]) && [ "$LOC_B_REF" -gt "$LOC_B_Q" ]) && [ "$LOC_B_Q" -gt "$LOC_A_REF" ])

then

###do my thing 

fi

谢谢你们

在Bash上,使用双括号:

    if [[ "$VAR1" == "$VAR2" && "$VAR3" == "$VAR4" ]]; then
               ## Code here
    fi

我认为这里有一个困惑,您不是在Unix或LinuxMint中编写的,而是在使用shell脚本。它们也有很多不同的风格,比如Bourne shell、Bash、C shell、Korn shell等。根据您使用的不同,您必须遵循不同的语法。Bash是Unix shell,但您也可以使用其他的。至少在美国,这些
()
是括号,这些
[]
是(方)括号,这些
{}
是(卷曲的)大括号。我知道术语各不相同。