+ -
当前位置:首页 → 问答吧 → bash shell 中for循环的问题

bash shell 中for循环的问题

时间:2011-08-29

来源:互联网

#!/bin/bash
# use for...do...done in the digit processing

PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH

read -p "Please input a number,I will count for 1+2+3+...+number  : " num

sum=0

for ( ( i=1; i<=$num; i=i+1 ) )
do
        sum=$(($sum+$i))
done

echo "The result of '1+2+...+$num' is ==> $sum"


这是鸟哥书上的一个脚本,目的是利用for循环计算数字相加的和。但是为何总是提示我在for那一行的(左右有错误呢?
请大家帮忙。

作者: 心蓝波波   发布时间: 2011-08-29

是不是有空格之类的没注意啊

作者: wang4289273   发布时间: 2011-08-29

两个 ( 之间以及两个 ) 之间不是有空格。
另外,如果你想省一点手指的力气的话, (( )) 中变量前的 $ 是可以不用的。

作者: acrofox   发布时间: 2011-08-29

本帖最后由 age 于 2011-8-29 23:06 编辑

话说bash里的加减运算真不是一般的麻烦
一个简单的sum+=i偏要弄得无比复杂
再比如浮点数运算, 竟然没有内置支持, 还需要调用bc
所以全面转向python, 更简洁高效

作者: age   发布时间: 2011-08-29

热门下载

更多