有人可以帮我弄清楚为什么这不起作用吗?
i=0
if [$i -eq 0]
then
echo "i is equal to 0"
else
echo "NOT EQUAL <><><><><><><><><><><><><><><><><><><>"
fi
它是 bash 脚本的一部分,并且总是采用 else 分支。我对 bash 完全陌生,所以这可能很愚蠢
i=0
if [$i -eq 0]
then
echo "i is equal to 0"
else
echo "NOT EQUAL <><><><><><><><><><><><><><><><><><><>"
fi
it is part of a bash script and it always takes the else branch. I'm completely new to bash so its probably something silly
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您需要
[ $i
而不是[$i
。这是因为
[
是一个内置命令,而$i
应该是它的第一个参数。如果您错过了命令和参数之间的空格,那么 shell 将查找[$i
命令,评估后会告诉您没有[0
命令要执行。you need
[ $i
instead of[$i
.This is because the
[
is a builtin command and$i
should be it's first parameter. If you miss the space between command and parameter, then the shell will look for[$i
command and after evaluation will tell you that there is no[0
command to be executed.'[' 之后和 ']' 之前需要空格。 '[' 是一个命令。
You need spaces after '[' and before ']'. '[' is a command.