bc的简单用法
bc是Linux内置中的计算器,能够处理浮点数的计算,看下面的应用例子。
[root@node2 ~]# bc bc 1.06.95 Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc. This is free software with ABSOLUTELY NO WARRANTY. For details type `warranty'. 3*5 15 3.5/6 0 scale=4 3.5/6 .5833 quit [root@node2 ~]#
浮点运算是由一个内建的成为scale的变量控制的,默认是0。可以从上面的例子看出,当不声明scale时,3.5/6的输出是0,当声明scale=4时,3.5/6的输出时0.5833
bc在脚本中的运用
当在脚本中要处理浮点数计算时,就可以使用bc计算器,先看下面的例子
[root@node2 tmp]# cat bc.sh #!/bin/bash # num1=`echo "scale=3; 4.3/7" | bc` echo $num1 [root@node2 tmp]# ./bc.sh .614
当碰到较短的运算时,就可以使用这种方法
variable=`echo "options; expression" | bc`
但是如果你计算较为复杂的话,在同一个命令中一次性列出多个
表达式会比较麻烦。这时,就可以bc命令的输入重定向了。
使用内联输入重定向:
variable=`bc << EOF options statements expressions EOF `
先看看下面的例子
[root@node2 tmp]# cat bc.sh #!/bin/bash # num1=14.5 num2=5 num3=32.4 num4=`bc << EOF scale=4 a=($num1 / $num2) b=($num3 / $num2) a + b EOF ` echo $num4 [root@node2 tmp]# ./bc.sh 9.3800
要注意的是在bash计算器中创建的变量a和b在shell脚本中是不能使用的。