- #!/bin/bash
- i=0
- sum=0
- while[$i -le 10] # 当i<10
- do
- let $sum=$i+$sum
- let $i=$i+1
- done
- echo sum
上面这份代码,是个典型的错误代码。主要的错误点有:
修改一下,得到可以执行的正确代码:
- [root@LittleLawson ~]# cat test.sh
- #!/bin/bash
- i=0
- sum=0
- while [ $i -le 10 ] # 当i<10
- do
- let sum=$i+$sum
- let i++
- done
- echo $sum
或者
- #!/bin/bash
- i=0;sum=0
- while [ $i -le 10 ]
- do
- let sum=sum+i
- let i++
- done
- echo $sum
代码如下:使用了三种不同的方式运算:
- #!/bin/bash
- i=0
- sum=0
- for((i=0;i<10;i++)) #使用for循环
- do
- let sum=sum+i
- done
- echo "1->10的和是:" $sum
-
- let sum=sum+1
- echo "再使用let sum=sum+1的方式再加1,结果是:"$sum
-
- sum=$(($sum+1))
- echo -e "使用\$(())的方式再加1,结果是:"$sum
-
- sum=`expr $sum + 1`
- echo "使用expr的方式再加1,结果是:"$sum
expr运算时,操作数中间必须有空格,如下所示:
- [root@server4 hadoop]# expr 1+5
- 1+5
- [root@server4 hadoop]# expr 1 + 5
- 6