我有一个bash脚本,我需要计算一个百分比。例如,我有两个数字(11和531,比如说),理想的是计算11/531 * 100~ = 2
我不需要小数值,实际上我想截断,从而向下舍入到最接近的整数。似乎要做浮点数学我需要调用bc或其他实用程序 - 是否有另一种方法可以实现我正在寻找的东西?
我没有任何反对bc的东西,但是当我在我的脚本中使用它,并将脚本配置为nagios插件时,nagios出现了一些未知的原因拒绝继续。这是非常奇怪和烦人的,在深入挖掘之前,我想知道在这种情况下我是否可以完全避免bc。
答案 0 :(得分:5)
使用bash的数学内置。它只打印出整数/整数。因此,如果您想丢弃/截断小数位,请使用以下内容:
echo $(((11*100)/531)) # prints 2
答案 1 :(得分:3)
尝试使用Awk - 获取浮点数
例如:
NUM=44; awk -v NUM=$NUM 'BEGIN { print ((NUM - 20) / 45) }'