变量的运算
方法一: expr
- (直接命令行操作即可)
- ## 加减乘除
- [[email protected] ~]# num1=10
- [[email protected] ~]# num2=16
- [[email protected] ~]# expr $num1 + num2
- 25
- [[email protected] ~]# expr $num2 - num1
- 6
- [[email protected] ~]# expr $num1 \* num2
- 160
- [[email protected] ~]# expr $num2 \ num1 #默认不显示小数, 取整
- 1
方法二:$(())
$ 符号加 (())
- [[email protected] ~]# num1=10
- [[email protected] ~]# num2=16
- [[email protected] ~]# echo $(($num1+$num2)) #加
- 26
- [[email protected] ~]# echo $(($num1-$num2)) #减
- -6
- [[email protected] ~]# echo $(($num1*$num2)) #乘
- 160
- [[email protected] ~]# echo $(($num2/$num1)) #除, 默认取整数, 不显示小数
- 1
方法三:$[]
$ 符号加 []
- [[email protected] ~]# num1=10
- [[email protected] ~]# num2=16
- [[email protected] ~]# echo $[num1 + num2] #加
- 26
- [[email protected] ~]# echo $[num1 - num2] #减
- -6
- [[email protected] ~]# echo $[num1 * num2] #乘
- 160
- [[email protected] ~]# echo $[num2 / num1] #除, 同上
- 1
方法四: let
let 不直接输出
- [[email protected] ~]# num1=10
- [[email protected] ~]# num2=16
- [[email protected] ~]# let sum=$num1+$num2;echo $sum #加
- 26
- [[email protected] ~]# let sum=$num1-$num2;echo $sum #减
- -6
- [[email protected] ~]# let sum=$num1*$num2;echo $sum #乘
- 160
- [[email protected] ~]# let sum=$num2/$num1;echo $sum #除
- 1
扩展: 小数运算 bc
scale=n; 定义小数精度, 此外可以直接运行 bc 命令进行输入计算
- [[email protected] ~]# num1=1.8
- [[email protected] ~]# num2=2.2
- [[email protected] ~]# echo "scale=3;$num1+$num2" | bc
- 4.0
- [[email protected] ~]# echo "scale=2;$num2-$num1" | bc
- .4
- [[email protected] ~]# echo "scale=2;$num2/$num1" | bc
- 1.22
- [[email protected] ~]# echo "scale=2;$num2*$num1" | bc
- 3.96
扩展: 小数运算 awk
awk -v 带入外部变量,'{ print num1 + num2 }'即可
- [[email protected] project]# num1=2.1
- [[email protected] project]# num2=1.5
- [[email protected] project]# echo | awk -v num1=$num1 -v num2=$num2 "{print num1 + num2 }"
- 3.6
- [[email protected] project]# echo | awk -v num1=$num1 -v num2=$num2 "{print num1 - num2 }"
- 0.6
- [[email protected] project]# echo | awk -v num1=$num1 -v num2=$num2 "{print num1 * num2 }"
- 3.15
- [[email protected] project]# echo | awk -v num1=$num1 -v num2=$num2 "{print num1 / num2 }"
- 1.4
来源: http://www.bubuko.com/infodetail-3095700.html