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脚本中是不能使用的。