linux之bc命令

本文介绍如何在bash脚本中使用bc计算器处理复杂的浮点数运算,包括基本用法及通过输入重定向实现更复杂的计算。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当在脚本中要处理浮点数计算时,就可以使用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脚本中是不能使用的。

 

var2=$(bc << EOF

 

scale = 4

 

a = ( $v1 + $v2 )

 

b = ( $v3 * $v4 )

 

a * b + 15.35

 

EOF

 

)

 

转载于:https://www.cnblogs.com/igoodful/p/11443735.html