如何在 Bash 中求算术表达式的值?

linuxoperating systemopen source

Bash 是一种功能强大的编程语言,用于在 Linux 和其他基于 Unix 的系统上编写 Shell 脚本。Shell 脚本中最常见的任务之一是求算术表达式的值。本文将讨论如何在 Bash 中求算术表达式的值,并探索一些示例。

简介

算术表达式是对数值执行的数学计算。在 Bash 中,使用 expr 命令求算术表达式的值,该命令将字符串作为算术表达式求值并返回结果。expr 命令的语法如下:

$ expr 表达式

这里的表达式是要求值的算术表达式。例如,要计算表达式 2 + 3,我们可以输入以下命令 -

$ expr 2 + 3

这将返回结果 5。

基本算术运算符

Bash 支持所有基本算术运算符,包括加法、减法、乘法和除法。这些运算符可用于执行简单的算术计算。下表列出了基本算术运算符及其对应的符号。

运算符

符号

加法

+

减法

-

乘法

*

除法

/

让我们看一些使用这些基本算术运算符的示例Bash。

示例 1:加法

在 Bash 中执行加法时,我们使用 + 符号。例如,要将 2 加 3,我们可以输入以下命令 -

$ expr 2 + 3

这将返回结果 5。

示例 2:减法

在 Bash 中执行减法时,我们使用 - 符号。例如,要从 5 中减去 3,我们可以输入以下命令 -

$ expr 5 - 3

这将返回结果 2。

示例 3:乘法

要在 Bash 中执行乘法,我们使用 * 符号。例如,要将 2 乘以 3,我们将输入以下命令 -

$ expr 2 * 3

请注意,* 符号需要使用反斜杠 () 进行转义,以防止其被 Shell 解释为通配符。

这将返回结果 6。

示例 4:除法

要在 Bash 中执行除法,我们使用 / 符号。例如,要将 6 除以 2,我们可以输入以下命令 -

$ expr 6 / 2

这将返回结果 3。

优先级顺序

在 Bash 中计算算术表达式时,务必牢记算术运算符的优先级顺序。优先级顺序决定了运算符的求值顺序。

基本算术运算符的优先级顺序如下:

  • 乘法和除法(从左到右求值)

  • 加法和减法(从左到右求值)

例如,在表达式 2 + 3 * 4 中,先求乘法,然后表达式求值为 2 + 12,结果为 14。

让我们看一些在 Bash 中使用优先级顺序的示例。

示例 5:乘法和除法

在表达式 2 + 4 / 2 * 3 中,先求除法,然后表达式求值为 2 + 2 * 3,结果为 8。要将表达式求值为 (2 + 4) / (2 * 3),我们使用括号对加法和乘法进行分组 -

$ expr 2+42+4 / 2\*32\*3

这将返回结果 1。

示例 6:使用括号分组

要将表达式的各个部分分组在一起,我们可以使用括号。例如,在表达式 2 * 3 + 4 中,我们可以使用括号对乘法进行分组,以确保首先对其进行求值 -

$ expr 2 * 3+43+4

这将返回结果 14。

模运算符

除了基本算术运算符外,Bash 还支持模运算符 (%),它返回除法运算的余数。例如,要计算 5 除以 2 的余数,我们可以输入以下命令 -

$ expr 5 % 2

这将返回结果 1。

让我们看一个在 Bash 中使用模运算符的示例。

示例 7:模运算符

在表达式 17 % 4 + 3 * 2 中,首先进行模运算,然后将表达式计算为 1 + 6,结果为 7。

$ expr 17 % 4 + 3 * 2

这将返回结果 7。

Bash 中的高级算术函数

Bash 还提供了一些可用于算术表达式的高级算术函数。这些函数包括平方根、指数和绝对值。让我们更详细地了解一下这些函数。

平方根

要在 Bash 中计算数字的平方根,我们使用 sqrt 函数。例如,要计算 16 的平方根,我们可以输入以下命令 -

$ expr sqrt 16

这将返回结果 4。

指数

要在 Bash 中计算数字的幂,我们使用 ** 运算符。例如,要计算 2 的 3 次方,我们可以输入以下命令 -

$ expr 2 ** 3

这将返回结果 8。

绝对值

要在 Bash 中计算数字的绝对值,我们使用 abs 函数。例如,要计算 -5 的绝对值,我们可以输入以下命令 -

$ expr abs -5

这将返回结果 5。

在算术表达式中使用变量

在 Bash 中,我们也可以在算术表达式中使用变量。我们可以使用 = 运算符为变量赋值,然后在算术表达式中使用变量。例如,要将值 5 赋给名为 x 的变量,我们可以输入以下命令 -

$ x=5

然后,我们可以在算术表达式中使用变量。例如,要将 x 的值加 2,我们可以输入以下命令 -

$ expr $x + 2

这将返回结果 7。

结论

计算算术表达式的值是 Bash 脚本中的常见任务。通过使用 expr 命令和基本算术运算符、优先级和模运算符,我们可以在 Bash 中执行简单的算术计算。通过本文中介绍的示例,您应该能够很好地理解如何在 Bash 中计算算术表达式的值,以及如何在自己的脚本中应用这些概念。


相关文章


有用资源