linux shell脚本while编程的问题

写了个很简单的程序#!/bin/bashi=0while[$i]doecho"$i"done程序就开始报错:snytaxerrornearunexpectedtoken'... 写了个很简单的程序
#!/bin/bash
i=0
while [$i]
do
echo "$i"
done

程序就开始报错:
snytax error near unexpected token 'do'
并且不管我写任何内容。只要是while控制语句就会报这种错误。
是我的程序有问题,还是linux的问题?
展开
 我来答
转转耳朵
推荐于2016-10-09 · TA获得超过735个赞
知道小有建树答主
回答量:167
采纳率:0%
帮助的人:177万
展开全部
是你的程序写的有问题,while 后面的[]里面,要加上前后空格。
要像这样:
#!/bin/bash
i=5
while [ $i -gt 0 ];
do
echo "$i"
i=$[ i - 1 ]
done
dashiio2010
2010-05-17
知道答主
回答量:25
采纳率:0%
帮助的人:0
展开全部
这个在句法上有问题,在“[]”要与判断条件之间要有空格。
另外,就是你这个循环语句是一个死循环,最好是加一个判断语句,好跳出循环。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友1eb0f7288
2010-05-17 · TA获得超过586个赞
知道小有建树答主
回答量:243
采纳率:0%
帮助的人:354万
展开全部
中括号前后都要有空格吧。
而且我在Solaris上试了一下,你这个是死循环,一直不停地输出0。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式