linux下,shell脚本中,最后一句done exit 0,系统永远提示done not found?怎么回事,程序如下

#!/bin/shi=1while["$i"–le300];donsw_w.tcl$igawk–fdelay.awkrate=$iwired_wireless.tr>>d... #!/bin/sh
i=1
while [ "$i" –le 300 ]; do
ns w_w.tcl $i
gawk –f delay.awk rate=$i wired_wireless.tr >>delay
gawk –f loss.awk rate=$i wired_wireless.tr >>loss_rate
gawk -f throughtput.awk rate=$i wired_wireless.tr >>throughtput
if ["$i" -le 225 ]; then
i=$(($i+20))
elif ["$i" -le 250 ]; then
i=$(($i+5))
else
i=$(($i+2))
fi
done
exit 0
展开
 我来答
小米飞猫
2012-05-23 · 专注于IT监控领域技术
小米飞猫
采纳数:1653 获赞数:4811

向TA提问 私信TA
展开全部
你#!/bin/sh 换成#!/bin/bash 测一下呢
因为你中间涉及到了调用别的脚本,我没法直接复制你脚本看报错。
从语法上目前我只看到你的if 语句写的有问题,
比如
["$i" -le 225 ]; #缺少空格
[ "$i" -le 225 ];then
下边的elif 也是
jiangtao9999
2012-05-23 · TA获得超过1.2万个赞
知道大有可为答主
回答量:1.2万
采纳率:44%
帮助的人:8202万
展开全部
done 是前面 do 的结束。
如果你确定 shell 解释器没问题,检查输入法吧……
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lottolotto
2012-05-23 · TA获得超过726个赞
知道小有建树答主
回答量:737
采纳率:0%
帮助的人:277万
展开全部
if 的中括号2边需要留有空格。
还有提醒一下你,shell脚本对一些不可打印字符非常敏感,如果你那程序通过在windows复制等等过程,可能产生不可打印字符,你可以通过cat -v 看看你的文件,看看会不会出现结尾有$ 或^M之类的字符,有的话,最好删除它,或者你干脆重新手打一次输入一个新文件。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式