bc是一个用于数学运算的高级工具,包含了大量选项,可以借助它执行浮点数运算并应用一些高级函数:

[root@one ~]# echo 3*2.12 | bc
6.36
[root@one ~]# n=54
[root@one ~]# m=`echo "$n*1.5" | bc`
[root@one ~]# echo $m
81.0
[root@one ~]#


其他二代参数可以放在要执行的具体操作前面,同时以分号作为定界符,通过管道符传递给bc。


设置小数精度:

scale可以设置小数点后的位数。scale=2是保留小数点后两位。

[root@one ~]# echo "scale=2;17/8" | bc
2.12

进制转换:

ibase是输入的进制数;obase是输出的进制数。(输入是十进制时,可以省略ibase

[root@one ~]# echo "obase=2;$no" |bc
1010
[root@one ~]# no=100
[root@one ~]# echo "obase=2;$no" |bc
1100100
[root@one ~]# no=1100100
[root@one ~]# echo "obase=10;ibase=2;$no" | bc
100


计算平方以及平方根:

[root@one ~]# echo "sqrt(9)" | bc        //square root (平方根)
3
[root@one ~]# echo "4^2" | bc            //square  (平方)
16