bash - 没有 bc 的 bash 脚本中的除法数学?

标签 bash

我有一个 bash 脚本,我需要在其中计算百分比。例如,我将有两个数字(假设是 11 和 531),理想情况是计算 11/531*100 ~= 2

我不需要小数值,事实上我想截断并向下舍入到最接近的整数。似乎要进行 float 学运算,我需要调用 bc 或其他实用程序——是否有另一种方法来完成我正在寻找的东西?

我对 bc 没有任何反对意见,但是当我在我的脚本中使用它,并将脚本配置为 nagios 插件时,nagios 出于某种未知原因出现拒绝继续。这非常奇怪和烦人,在深入挖掘之前,我想知道在这种情况下我是否可以完全避免 bc。

最佳答案

使用 bash 的内置数学。它只是打印出整数/整数。所以如果你想丢弃/截断小数位使用类似的东西:

echo $(((11*100)/531)) # prints 2

关于bash - 没有 bc 的 bash 脚本中的除法数学?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27926152/

相关文章:

linux - bash 中的 echo 表达式

bash - 如何在 bash 中定义一个自动更新的 $DATE 变量?

linux - shell脚本中grep搜索的回显结果

bash - 当我尝试打印数组的特定位置时替换错误

mysql - 如何制作 wget 和 mysql bash 脚本

python - 在Python中使用bash命令脚本

bash - tmux - 附加到 session 并指定窗口

linux - 如何使用 sudo 进行输出重定向?

java - 命令行程序延迟到默认文本编辑器

bash 中的正则表达式匹配字符串