【发布时间】:2018-08-23 20:21:18
【问题描述】:
我正在尝试计算以下公式并将值存储到变量中。
伪代码应如下所示:
a=10
b=5
c=$(((($a-$b)/52)) | bc -l)
echo $c
结果为空。我无法弄清楚使用bc 的语法。请帮我用bc代替awk或其他方法。
【问题讨论】:
-
还指出,如果您需要对浮点等进行繁重的计算,bash 可能不是您应该使用的工具! !每次调用
bc时,您都会创建一个子进程(系统调用用户-> 内核模式、fork、exec,...然后内存分配、进程表中的新条目、进程调度程序的更多工作、缓存需要时间未命中并最终未命中页面,动态库可能由bc加载,...)因此您会损失许多 CPU 周期。如果您为此使用适当的语言,情况就不会如此!
标签: bash floating-point integer division bc