• 为了克服bash只支持整数运算的限制,使用内建的bash计算器bc是最常见的方法。在脚本中使用bc的基本格式如下:

variable=$(echo "options; experssion" | bc)

options--允许设置变量,如果有多个变量,可以用分号进行分隔。
expression--定义要通过bc执行的数学表达式。

例如:

点击查看代码
 val1=3.44
 val2=5
 val=$(echo "scale=4; $val1 / $val2" | bc)
 echo The result is $val

最后执行的结果为:

The result is .6800

这里的将scale变量设置为4位小数。

  • 这种方法适用于较短的运算,当需要进行大量运算,涉及更多的数字,以上这种方法进显得笨重,最好的方法是使用内联输入重定向。
点击查看代码
variable=$(bc << EOF
options
statements
expressions
EOF
)
字符串EOF表示了内联重定向数据的起始。

例如:

点击查看代码
val1=10.11
val2=3.66
val3=78.39
val4=54.5

val5=$(bc << EOF
scale = 4
a1 = ($val1 * $val2)
b1 = ($val3 * $val4)
a1 + b1
EOF
)
posted on 2025-04-02 17:46  易如反掌  阅读(32)  评论(0)    收藏  举报