# 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的求值是错的?
新手求助,变量前面加$问题
-
- 帖子: 6
- 注册时间: 2011-12-04 21:29
- tenzu
- 论坛版主
- 帖子: 36924
- 注册时间: 2008-11-21 20:26
-
- 帖子: 6
- 注册时间: 2011-12-04 21:29
Re: 新手求助,变量前面加$问题
-ne?不懂...
- 枫叶饭团
- 帖子: 14683
- 注册时间: 2010-06-16 1:05
- 系统: Mac OS X
- 来自: Tencent
- 联系:
- 枫叶饭团
- 帖子: 14683
- 注册时间: 2010-06-16 1:05
- 系统: Mac OS X
- 来自: Tencent
- 联系:
Re: 新手求助,变量前面加$问题
!=换成-ne
$(($i+1))可以换成((i++))
$(($i+1))可以换成((i++))
-
- 帖子: 6
- 注册时间: 2011-12-04 21:29
Re: 新手求助,变量前面加$问题
谢谢楼上的两位了,这句
sum=$ ( ($sum+$i) )
错在哪里啊?
sum=$ ( ($sum+$i) )
错在哪里啊?
- 枫叶饭团
- 帖子: 14683
- 注册时间: 2010-06-16 1:05
- 系统: Mac OS X
- 来自: Tencent
- 联系:
Re: 新手求助,变量前面加$问题
手机居然不支持i++,郁闷。$var $与var之间不能加空格
- 枫叶饭团
- 帖子: 14683
- 注册时间: 2010-06-16 1:05
- 系统: Mac OS X
- 来自: Tencent
- 联系:
Re: 新手求助,变量前面加$问题
这个脚本还有个问题,加到n的时候while循环终止,最后一个n没有加上去。比如输入9,在我手机上得到的却是36,正确应该是45.把不等换成大于应该就行了