分页: 1 / 1

新手求助,变量前面加$问题

发表于 : 2011-12-16 10:13
windrider
# sh14.sh
# calculate the sum value of 1:n
#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
read -p "Please input the upper bound n: " n
i=1
sum=0
while [ $i != $n ]
do
sum=$ ( ($sum+$i) )
i=$ ( ($i+1) )
done
echo "The sum from 1 t o $n is $sum."

为什么while循环里,sum的求值是错的?

Re: 新手求助,变量前面加$问题

发表于 : 2011-12-16 10:27
tenzu
-ne 才对

Re: 新手求助,变量前面加$问题

发表于 : 2011-12-16 10:35
windrider
-ne?不懂...

Re: 新手求助,变量前面加$问题

发表于 : 2011-12-16 10:37
枫叶饭团
!=换成-ne

Re: 新手求助,变量前面加$问题

发表于 : 2011-12-16 10:40
枫叶饭团
!=换成-ne
$(($i+1))可以换成((i++))

Re: 新手求助,变量前面加$问题

发表于 : 2011-12-16 10:48
windrider
谢谢楼上的两位了,这句
sum=$ ( ($sum+$i) )
错在哪里啊?

Re: 新手求助,变量前面加$问题

发表于 : 2011-12-16 15:02
枫叶饭团
手机居然不支持i++,郁闷。$var $与var之间不能加空格

Re: 新手求助,变量前面加$问题

发表于 : 2011-12-16 15:14
枫叶饭团
这个脚本还有个问题,加到n的时候while循环终止,最后一个n没有加上去。比如输入9,在我手机上得到的却是36,正确应该是45.把不等换成大于应该就行了