shell脚本求和_【LinuxShell脚本编程】如何在脚本中进⾏数学
linuxshell脚本怎么运行计算
在Shell中变量的数据类型默认是字符串,是不⽀持数字运算的。下⾯这个例⼦想让a和b两个变量的值相加,可是运⾏结果发现两个变量的值并没有做相加,仅仅作为⽂本给打印了出来。
[root@iZ25aj1q2ovZ ~]# a=10
[root@iZ25aj1q2ovZ ~]# b=5
[root@iZ25aj1q2ovZ ~]# c=$a+$b
[root@iZ25aj1q2ovZ ~]# echo $c
10+5
如果要在shell中做运算的话,有下⾯⼏种⽅法可以实现:
1、expr命令,⽤于整数运算,不⽀持浮点数
# expr 算术表达式记得加反引号,算术表达式之间要有空格
a=50
b=10
c=`expr $a + $b`
echo $c
2、bc命令(结合scale命令实现浮点运算,scale的值代表⼩数点的精度)
echo "scale=2;1.2*2.5"|bc
3、let命令,取代并扩展expr的⼯具,不⽀持浮点数。
let number=1+5
echo $number #输出结果为6
a=10
b=5
let c=$a+$b
echo $c #输出结果为15 4、$[算术表达式]
[root@iZ25aj1q2ovZ ~]# a=8
[root@iZ25aj1q2ovZ ~]# b=2
[root@iZ25aj1q2ovZ ~]# c=$[$a+$b]
[root@iZ25aj1q2ovZ ~]# echo $c
10
5、$((算术表达式))
[root@iZ25aj1q2ovZ ~]# a=7
[root@iZ25aj1q2ovZ ~]# b=1
[root@iZ25aj1q2ovZ ~]# c=$((a+b))
[root@iZ25aj1q2ovZ ~]# echo $c 8
脚本演⽰0-100⾃动求和
#!/bin/bash
sum=0
for ((i=1;i<=100;i++))
do
sum=`expr $i+$sum`
done
echo $sum