有人可以帮我弄清楚为什么这不起作用?

时间:2011-12-22 20:42:44

标签: bash shell conditional

i=0

if [$i -eq 0]
then 
   echo "i is equal to 0"
else 
   echo "NOT EQUAL <><><><><><><><><><><><><><><><><><><>"
fi

它是bash脚本的一部分,它总是需要else分支。我对bash完全不熟悉所以它可能是愚蠢的

2 个答案:

答案 0 :(得分:5)

您需要[ $i而不是[$i

这是因为[是内置命令,而$i应该是它的第一个参数。如果你错过了命令和参数之间的空格,那么shell将查找[$i命令,评估后会告诉你没有[0命令要执行。

答案 1 :(得分:1)

'['之前''''之后需要空格。 '['是一个命令。