shell脚本中的浮点数计算

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell脚本中的浮点数计算相关的知识,希望对你有一定的参考价值。

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



一、bc介绍 

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

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

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

[[email protected] ~]# 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位小数位的答案:

[[email protected] ~]# 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之外




以上是关于shell脚本中的浮点数计算的主要内容,如果未能解决你的问题,请参考以下文章

Shell脚本笔记shell中的数学计算

代码片段:Shell脚本实现重复执行和多进程

从片段着色器中的地形高程数据计算法线

shell脚本中的$*,$@和$#分别是啥意思?

08 bash特性--shell脚本编程入门

linux12shell编程 -- >元字符