如何在 Linux 命令行中进行基本数学运算

Linux的 bash或命令行,可让您执行基本和复杂的算术和布尔运算。 expr、jot、bc 和 factor 等命令可帮助您找到复杂问题的最佳数学解决方案。 在本文中,我们将描述这些命令并提供示例,作为您转向更有用的数学解决方案的基础。

我们已经在 Ubuntu 18.04 LTS 系统上运行了本文中提到的命令和过程。

我们使用 Ubuntu 命令行终端来执行所有数学运算。 您可以通过系统 Dash 或 Ctrl+Alt+T 快捷方式打开终端。

expr 命令

Linux 中的 expr 或 expression 命令是最常用的用于执行数学计算的命令。 您可以使用此命令执行加法、减法、乘法、除法、递增值甚至比较两个值等功能。 在本节中,我们将描述执行上述计算的语法,并介绍如何使用 expr 命令在 Ubuntu 命令行中执行高效的数学运算。

添加

您可以通过 expr 命令添加两个或多个数字,如下所示:

$ expr number1 + number2

例子:

$ expr 100 + 10

减法

您可以通过 expr 命令对两个或多个数字进行减法运算,如下所示:

$ expr number1 – number2

例子:

$ expr 100 - 10

数学:减法

乘法

您可以通过 expr 命令执行两个或多个数字的乘法,如下所示:

$ expr number1 * number2

例子:

$ expr 10 * 10

数学:乘法

请注意,以下是 Linux 命令行中数字乘法的错误语法,因为命令行使用简单的星号作为对当前目录中所有文件的引用。

$ expr 10 * 10

正确转义乘数符号

分配

您可以通过 expr 命令将一个数字与另一个数字相除,如下所示:

$ expr number1 / number2

例子:

$ expr 100 / 10

分配

增加一个变量

您可以在 Linux 中通过首先按如下方式定义变量来递增变量:

$ count_variable=0

然后,使用以下表达式,使用 expr 命令,执行递增操作:

$ count_variable=`expr $count_variable + 1`

现在,当您通过以下命令回显变量值时,它将打印最初定义的变量的增量值。

$ echo $count_variable

增加一个变量

比较

通过 expr 命令,您还可以检查一个数字是否大于另一个数字。

$ expr number1 > number2

例子:

$ expr 20 > 10

数学:比较

结果值 1 表示第一个数字大于第二个数字。 而结果值 0 表示第一个数字不大于第二个数字。

例子:

$ expr 10 > 20

比较例 2

通过 expr 命令,您还可以使用以下语法查看两个数是否相等:

$ expr number1 = number2

例子:

$ expr 10 = 10
$ expr 10 = 15

平等比较

结果值 1 表示第一个数等于第二个数。 而结果值 0 表示两个数字不相等。

在上面的例子中,我们可以肉眼看到两个比较的数字是否相等。 那么这个操作有什么用呢?

假设在一个程序中,我们想知道几个数字的计算平均值是否等于 10。 在这里,我们可以充分利用expr命令将“平均”变量的结果与10进行比较,并根据这个结果进行进一步的操作。

$ average=10 $ expr $average = 10

平均

有效地使用 expr 命令

让我们举一个例子,其中 expr 命令实际上是有效的。 在这个例子中,我们将使用 expr 命令来计算当有 10 个孩子和 122 个糖果时,一个孩子得到了多少糖果。 该程序还将计算所有孩子获得相同数量的糖果后剩余的糖果数量。

$ children=10 $ sweets=122 $ PerChildShare=`expr $sweets / $children` $ RemainingSweets=`expr $sweets - $children * $PerChildShare`  echo $PerChildShare echo $RemainingSweets

使用 expr 命令

输出完美地显示每个孩子的公平份额是 12,剩下 2 个在底池中。

记事本命令

Linux jot 命令可帮助您根据作为起始数字提供的值和要在其后查看的值的数量创建数字列表。 在本节中,我们将描述通过 jot 执行计算的语法,并介绍如何使用 jot 命令在 Ubuntu 命令行中执行高效的数学运算。

您可能首先需要安装 Athena-jot 才能在 Ubuntu 上使用 jot 命令。

Enter 以下命令为 sudo 因为只有授权人员才能在 Ubuntu 上添加/删除和配置软件:

$ sudo apt install athena-jot

安装 athena-jot

系统可能会提示您选择 Y/n 以确认继续安装。 请输入 Y,然后按 Enter 继续,之后软件将安装在您的系统上。

在数字 y 之后打印 x 数字

使用 jot 命令,您可以在数字 y 之后打印 x 个值。 使用以下命令执行此操作:

$ 小记 xy

以下示例将为您说明问题:

$ jot 5 1

在数字 y 之后打印 x 数字

我们的示例输出在数字 1(y) 之后显示了 5(x) 值的列表。

在数字y之后反转打印x数字直到数字z

您还可以使用 jot 命令在数字 y 之后反转打印 x 个值,以数字 z 结束。 使用以下语法来执行此操作:

$记xyz

以下示例将为您说明问题:

$ jot 9 10 2

在数字y之后反转打印x数字直到数字z

我们的示例输出反向显示数字 10(y) 之前的 9(x) 值,直到列表到达数字 2(z)。

高效地使用 jot 命令

让我们举一个例子,其中 jot 命令实际上是有效的。 在此示例中,我们将使用 jot 命令打印从第 1 天(y 值)开始的一月的 15(x 值)天。

$ for i in `jot 15 1`; do echo January $i; done

这是输出:

高效地使用 jot 命令

我们通过使用 jot 命令的输出作为变量 i 的输入值来使用 for 循环。

因子命令

顾名思义,Linux 中的 factor 命令用于计算我们提供的数字的因数的值。

句法:

$因子数

例子:

因子命令示例

在上面的示例中,您可以看到 factor 命令如何打印除 13 之外的给定数字的多个因子,因为数字 13 除了它自己之外没有其他因子。

bc 命令

bc 命令在执行复杂操作时非常有用 bash. 此命令还可以进行比较、处理布尔值以及计算平方根、正弦、余弦和正切等。您只需将数学表达式通过管道传递给 bc 命令,如下所示:

$ echo “数学表达式” | 公元前

然后输出显示数学表达式的结果。

例子:

$ echo "10+10/2-(2*2)" | bc

BC 命令示例

计算 Pi

由于 bc 命令不会回避精度,而且您要输入的字符串非常简单,您可以使用它来计算 pi 的值到您想要的小数位数。

在下面的示例中,我们通过指定一个小数点四舍五入的比例值来打印 pi 的值。

$ echo "scale=2; 4*a(1)" | bc -l

在 Linux 命令行上计算 pi

由于 scale 值为 2,因此 pi 的结果将被缩放到小数点后两位。

echo "scale=10; 4*a(1)" | bc -l

设置更高的比例值

由于比例值为 10,因此 pi 的结果将被缩放到十位小数。

执行 Bash 数学

您可以轻松执行 bash 数学通过使用一组双括号。 您可以执行算术和布尔运算 bash 通过这种技术。

算术

下面列出的算术运算可以在 Linux 中执行 bash:

+, – 加法、减法
++, — 递增、递减
*, / , % 乘法、除法、余数
** 指数值

示例 1:

$ ((x=10)) $ (( e = e + 5 )) $ echo $e

示例 2:

$ ((x=10)) $ ((x--)) $ echo $e

示例 3:

$ ((x=10)) $ ((x=x**2)) $ echo $e

布尔和逻辑

这 bash math 还允许您在疑问括号内使用布尔和逻辑表达式来执行数学计算。

例子:

$ ((x=10)); ((y=5))  if (( x > y )); then echo $x; fi

布尔 Bash 数学示例

此示例比较两个变量并仅在 x 大于 y 时才输出 x 的值。

通过本文介绍的命令语法和示例,您现在能够通过 Linux 执行基本的数学运算 bash. 这将作为您执行更复杂操作的基础,例如使用 bash 编写程序的脚本。 此外,您还可以执行交互式数学运算,您可以在其中输入用户的值,处理输入,然后根据这些值输出结果。