在 Bash 中通过多步计算创建变量

在 Bash 中通过多步计算创建变量

我正在尝试创建一个作为多步骤计算的输出的变量,但我找不到正确的格式。

variableA=$(( variable1 / variable2 ) * 100)

当我运行这个时出现语法错误。有人可以建议上面的正确格式吗?

此外,我想四舍五入variableA到一个整数,所以如果有人对此有建议,那就太好了。

答案1

您需要将整个表达式放入其中双括号

variableA=$(( (variable1 / variable2) * 100 ))

Bash 仅处理整数算术,因此如果您的变量之一包含非整数值,您将收到语法错误。为了解决这个问题,您可以删除从值中的第一个句号开始的所有内容:

variableA=$(( (${variable1%%.*} / ${variable2%%.*}) * 100 ))

相关内容