1.bc
- 最简单的 加 减 乘 除 求余 小数点计算
- shell 是不支持小数计算的
选项值
-i:强制进入交互式模式;
-l:定义使用的标准数学库
; -w:对POSIX bc的扩展给出警告信息;
-q:不打印正常的GNU bc环境信息;
-v:显示指令版本信息;
-h:显示指令的帮助信息。
[root@king ~]# a=12
[root@king ~]# b=3
[root@king ~]# echo $a+$b |bc
15
[root@king ~]# echo $a-$b |bc
9
[root@king ~]# echo $a*$b |bc
36
[root@king ~]# echo $a/$b |bc
4
[root@king ~]# echo $b-$a | bc
-9
[root@king ~]# echo $b%$a | bc
3
[root@king ~]# echo $a-0.3 |bc
11.7
参考博客:
https://m.runoob.com/linux/linux-comm-bc.html
2.bc 还可以进行二进制的转换
[root@king ~]# c=192
[root@king ~]# echo "obase=2;$c" | bc
11000000
[root@king ~]# d=11000000
[root@king ~]# echo "obase=10;ibase=2;$d" | bc
192
https://blog.csdn.net/buoujiang/article/details/80965113
3.截取指定的小数点
[root@king ~]# echo 'scale=2; (2.777 - 1.4744)/1' | bc
1.30
http://www.runoob.com/linux/linux-comm-bc.html
4.bc 对平方根进行计算
[root@king ~]# echo "10^10" | bc
10000000000
[root@king ~]# echo "sqrt(100)" | bc
10
http://www.runoob.com/linux/linux-comm-bc.html
5.bc 计算中怎么保留后几位数
[root@king ~]# echo 2*100/4 | bc
50
[root@king ~]# echo "scale=2; 2*100/4" |bc
50.00
- 脚本解释 scale=2 是脚本中保留2位小数的意思