$i="500,600"
$j="600"
if[$i -ne $j]; then
#some line
else
#some line
fi
这个if条件不在里面。
如果条件失败。否则就过去了。
这怎么可能
有人可以帮助我吗
答案 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" ;
}