linux shell脚本while编程的问题

写了个很简单的程序
#!/bin/bash
i=0
while [$i]
do
echo "$i"
done

程序就开始报错:
snytax error near unexpected token 'do'
并且不管我写任何内容。只要是while控制语句就会报这种错误。
是我的程序有问题,还是linux的问题?

是你的程序写的有问题,while 后面的[]里面,要加上前后空格。
要像这样:
#!/bin/bash
i=5
while [ $i -gt 0 ];
do
echo "$i"
i=$[ i - 1 ]
done
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-05-17
这个在句法上有问题,在“[]”要与判断条件之间要有空格。
另外,就是你这个循环语句是一个死循环,最好是加一个判断语句,好跳出循环。
第2个回答  2010-05-17
中括号前后都要有空格吧。
而且我在Solaris上试了一下,你这个是死循环,一直不停地输出0。
相似回答