我有一个bash脚本,需要计算百分比。例如,我有两个数字(假设是11和531),理想情况下应该计算11/531*100≈2。
我不需要小数值,事实上我想截断并向下舍入到最近的整数。似乎要进行浮点数运算,我需要调用bc或其他工具--是否有另一种方法来完成我想要的目标?
我并不反对bc,但当我在我的脚本中使用它,并将脚本配置为nagios插件时,出于某种未知原因,nagios似乎拒绝继续执行。这非常奇怪和烦人,在深入研究之前,我想知道是否可以避免在这种情况下完全使用bc。
我有一个bash脚本,需要计算百分比。例如,我有两个数字(假设是11和531),理想情况下应该计算11/531*100≈2。
我不需要小数值,事实上我想截断并向下舍入到最近的整数。似乎要进行浮点数运算,我需要调用bc或其他工具--是否有另一种方法来完成我想要的目标?
我并不反对bc,但当我在我的脚本中使用它,并将脚本配置为nagios插件时,出于某种未知原因,nagios似乎拒绝继续执行。这非常奇怪和烦人,在深入研究之前,我想知道是否可以避免在这种情况下完全使用bc。
awk
,例如:awk 'BEGIN {printf "%.2f\n", 2/3}'
。 - fedorquilet result=11*100/531
- Cyruslet
了 - 虽然(( result = 11*100/531 ))
是bash的扩展,但result=$(( 11*100/531 ))
符合POSIX sh标准。 - Charles Duffy