i=0
if [$i -eq 0]
then
echo "i is equal to 0"
else
echo "NOT EQUAL <><><><><><><><><><><><><><><><><><><>"
fi
它是一个bash脚本的一部分,它总是需要else分支。我完全陌生,所以它可能是傻的东西有人可以帮我弄清楚为什么这不起作用?
i=0
if [$i -eq 0]
then
echo "i is equal to 0"
else
echo "NOT EQUAL <><><><><><><><><><><><><><><><><><><>"
fi
它是一个bash脚本的一部分,它总是需要else分支。我完全陌生,所以它可能是傻的东西有人可以帮我弄清楚为什么这不起作用?
你需要[ $i
而不是[$i
。
这是因为[
是内置命令,而$i
应该是它的第一个参数。如果您错过了命令和参数之间的空间,那么shell将查找[$i
命令,并且在评估后会告诉您没有[0
命令被执行。
''''之前'''之后需要空格。 '['是一个命令。
'[$ i -eq 0]'的替代方案可能是'((i == 0))' – potong 2011-12-22 21:39:09