Shell Script逻辑运算符用于条件

时间:2014-10-27 12:44:35

标签: shell

 $i="500,600"
 $j="600"

 if[$i -ne $j]; then
    #some line
 else
    #some line
 fi

这个if条件不在里面。

如果条件失败。否则就过去了。

这怎么可能

有人可以帮助我吗

1 个答案:

答案 0 :(得分:1)

诀窍是考虑" ["签名作为命令(实际上它确实是一个),其最后一个参数必须是"]"。所以你必须确保在[及其所有参数到达正确位置之后]有空格。在你的情况下:

if [ "$i" -ne "$j" ]
 then
     # some code
 else
     # some code
fi

由于[是一个命令,你可能想要省略if结构并使用逻辑运算符,利用惰性求值。以下含义相同:

[ "$i" -ne "$j" ] && {
    echo "hello" ;
    echo "world" ;
} || { 
    echo "bye bye" ;
    echo "world" ;
}