bash数字计算——数字处理能力对任何一种编程语言都至关重要,可是对于bash shell脚本来说,这种能力很差,即使expr命令和$[ ]的形式也只能进行整数运算,无法完成对浮点数的运算。为了突破这种限制,引进了一种bash的浮点解决方案,就是内置bash计算器(bc



一、bc介绍 

    bc实际上是一种编程语言,该语言允许在命令行输入浮点表达式,然后执行。

    bc可以识别(浮点)数字,变量,表达式,编程语句,函数。

    可以使用bc命令从shell提示符访问bc,quit退出bc:

[root@centos6 ~]# 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'. 
1.25*3
3.75
quit

    scale变量设置小数位位数,默认scale=0,当scale=4时,显示4位小数位的答案:

[root@centos6 ~]# bc -q
5/4
1
scale=4
5/4
1.2500
quit


二、在脚本中bc的用法

    使用反引号运行bc命令

        var=`echo "options;expression" |bc`

#!/bin/bash
var=`echo "scale=4;5/4" |bc`
echo $var

    内置输入重定向运行bc命令

        var=`bc << EOF

        options

        expression  

        EOF`

#!/bin/bash
var=`bc << EOF
scale=4
a=5
b=4
b/a
EOF`
echo $var

注意:bc中的变量只在bash计算器中有效,不能用在bc之外