分页: 1 / 1

小弟初学SHELL脚本的编写,遇到declare错误

发表于 : 2007-09-09 21:21
windlycn
希望各位高手帮我看看。
只是一段非常 简单的 Script

#!/bin/bash
#Using for and loop

declare -i s #

for (( i=1; i<=100; i=i+1 ))
do
s=s+i;
done
echo "The count is => $s"

这是一段非常 简单的 计算 1+2+3+……100的小程序,在执行后提示出错
test-11-loop.sh: 5: declare: not found
test-11-loop.sh: 7: Syntax error: Bad for loop variable

对于 declare的错误我始终不明白,在SHELL状态下输入没有错误,在脚本里就是一运行 就出错,
请各位大人帮着看看吧,谢谢了!

发表于 : 2007-09-09 22:17
lb_bn
这个问题怪怪的。。。 :D

发表于 : 2007-09-09 22:45
magicsky
试了下你的脚本,在我的机器上是好好的,得到结果The count is => 5050
那个也许是你的bash的问题,
实在不行的话重新安装一遍bash试试吧,最好是重新从源代码编译一遍

发表于 : 2007-10-04 17:10
abf
估计是你用这种方式运行的: sh test-11-loop.sh
试试: chmod +x test-11-loop.sh
./test-11-loop.sh
或者: bash test-11-loop.sh

发表于 : 2007-10-04 18:57
eexpress
declare从来不知道作什么的。

发表于 : 2007-10-04 19:07
wkt
for还可以这样用啊??
改天试试!!!

发表于 : 2007-10-06 23:20
xiexbb
我的没有问题啊:

代码: 全选

-bash-2.05b$ bash test
The count is => 5050
-bash-2.05b$ 

发表于 : 2008-07-19 10:33
ashuaipyyz
abf 写了:估计是你用这种方式运行的: sh test-11-loop.sh
试试: chmod +x test-11-loop.sh
./test-11-loop.sh
或者: bash test-11-loop.sh
能解试一下这是为什么吗?

发表于 : 2008-07-19 10:48
xiooli
ashuaipyyz 写了:
abf 写了:估计是你用这种方式运行的: sh test-11-loop.sh
试试: chmod +x test-11-loop.sh
./test-11-loop.sh
或者: bash test-11-loop.sh
能解试一下这是为什么吗?
sh是链接的dash不是bash。