1、简介
bc命令是一种支持任意精度的交互执行的计算器语言。bash内置了对整数四则运算的支持,但是并不支持浮点运算,而bc命令可以很方便的进行浮点运算,当然整数运算也不再话下。
2、安装
[root@RedHat_test ~]# yum install bc
3、语法
[root@elasticsearch-03 ~]# bc(选项)(参数)
-i:强制进入交互式模式;
-l:定义使用的标准数学库;
-w:对POSIX bc的扩展给出警告信息;
-q:不打印正常的GNU bc环境信息;
-v:显示指令版本信息;
-h:显示指令的帮助信息。
4、计算加减乘除
[root@RedHat_test ~]# bc
2+3
5
5-2
3
2+3*1
5
6/2
3
# 输入 quit 退出
5、管道符输入
[root@RedHat_test ~]# echo "1.212*3" | bc
3.636
6、设定小数精度
[root@RedHat_test ~]# echo "scale=3;3/8" | bc
.375
#参数scale=3是将bc输出结果的小数位设置为3位
7、将十进制转换成二进制
[root@RedHat_test ~]# #!/bin/bash
[root@RedHat_test ~]# abc=11000000
[root@RedHat_test ~]# echo "obase=10;ibase=2;$abc" | bc
192
8、将十进制转十六进制
[root@RedHat_test ~]# m=31
[root@RedHat_test ~]# n=$(echo "obase=16;$m"|bc)
[root@RedHat_test ~]# echo $n
1F
9、将十六进制转十进制
[root@RedHat_test ~]# m=1E
[root@RedHat_test ~]# n=$(echo "obase=10;ibase=16;$m"|bc)
[root@RedHat_test ~]# echo $n
30
10、计算平方和平方根
[root@RedHat_test ~]# echo "10^10" | bc
10000000000
[root@RedHat_test ~]# echo "sqrt(100)" | bc
10
11、计算平均值
[root@RedHat_test ~]# cat script.sh
#/bin/bash
# 計算兩個數的平均值
ans=$(echo "($1+ $2) / 2" | bc -l)
echo"平均為:$ans"
[root@RedHat_test ~]# chmod +x script.sh
[root@RedHat_test ~]# ./script.sh 12 34
平均為:23.00000000000000000000