如何在 Bash 中求算术表达式的值?
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 中计算算术表达式的值,以及如何在自己的脚本中应用这些概念。
相关文章
有用资源
linux 参考教程 - 该教程包含有关 linux 的更多信息:https://www.cainiaomax.com/linux/

