未加星标

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

字体大小 | |
[系统(linux) 所属分类 系统(linux) | 发布者 店小二04 | 时间 2018 | 作者 红领巾 ] 0人收藏点击收藏

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

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

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


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

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

加法

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

$ expr number1 + number2

示例:

$ expr 100 + 90
如何在Linux命令行中进行基本的数学运算
减法

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

$ expr number1 number2

示例:

$ expr 100 - 27
如何在Linux命令行中进行基本的数学运算
乘法

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

$ expr number1 \* number2

示例:

linuxidc@linuxidc:~/www.codesec.net$ expr 11 \* 10
如何在Linux命令行中进行基本的数学运算

请注意,以下是Linux命令行中数字乘法的语法也可以。

linuxidc@linuxidc:~/www.codesec.net$ expr 11 * 10


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

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

$ expr number1 / number2

示例:

$ expr 110 / 10
如何在Linux命令行中进行基本的数学运算
增加变量

您可以通过首先定义Linux中的变量来增加它,如下所示:

$ count_variable=9

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

$ count_variable=`expr $count_variable + 7`

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

$ echo $count_variable
如何在Linux命令行中进行基本的数学运算
比对

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

$ expr number1 \> number2

示例:

$ expr 16 \> 11
如何在Linux命令行中进行基本的数学运算

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

示例:

$ expr 11 \> 26
如何在Linux命令行中进行基本的数学运算

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

$ expr number1 = number2

示例s:

$ expr 19 = 19 $ expr 11 = 15
如何在Linux命令行中进行基本的数学运算

结果值1表示第一个数字等于第二个数字。

而结果值0表示两个数字不相等。

在上面的例子中,我们可以很明显看到两个比较数字是否相等。

那么这个操作怎么有用呢?

让我们假设在一个程序中,我们想知道一些数字的计算平均值是否等于10。

在这里,我们可以充分利用expr命令将“average”变量的结果与10进行比较,并根据此结果执行进一步的操作。

$ average=20
$ expr $average = 20
如何在Linux命令行中进行基本的数学运算
高效地使用expr命令

让我们举一个expr命令实际上可以生效的例子。在这个例子中,我们将使用expr命令来计算当有20个孩子和158块糖果时,一个孩子得到了多少糖果。该程序还将计算所有孩子得到相同数量的糖果后剩下的糖果数量。

linuxidc@linuxidc:~/www.codesec.net$ children=20

linuxidc@linuxidc:~/www.codesec.net$ sweets=158

linuxidc@linuxidc:~/www.codesec.net$ PerChildShare=`expr $sweets / $children`

linuxidc@linuxidc:~/www.codesec.net$ RemainingSweets=`expr $sweets - $children \* $PerChildShare`

linuxidc@linuxidc:~/www.codesec.net$ echo $PerChildShare

7

linuxidc@linuxidc:~/www.codesec.net$ echo $RemainingSweets

18


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

输出完美地显示了每个孩子平均得到12块,剩下2块在罐子里。

jot命令

Linux jot命令可帮助您根据您提供的值创建数字列表,作为起始编号和要在其后查看的值的数量。

在本节中,我们将描述通过jot执行计算的语法,并介绍如何使用jot命令在Ubuntu命令行中执行高效数学运算。

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

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

linuxidc@linuxidc:~/www.codesec.net$ sudo apt install athena-jot


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

系统可能会提示您使用Y/n选项确认继续安装。

请输入Y然后按Enter键继续,之后软件将安装在您的系统上。

在数字y之后打印x个数字

使用jot命令,您可以在数字y之后打印x个数值。请使用以下命令:

使用以下命令执行此操作:

$ jot x y

以下示例将为您解决问题:

$ jot 6 2
如何在Linux命令行中进行基本的数学运算

我们的示例输出显示数字2(y)后面的6(x)个值列表。

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

您还可以使用jot命令来反向打印数字y后面的x个值,以数字z结尾。

使用以下语法执行此操作:

$ jot x y z

以下的例子会让你明白:

$ jot 5 10 1
如何在Linux命令行中进行基本的数学运算

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

高效地使用jot命令

让我们给出一个示例,其中jot命令实际上是有效的。在本例中,我们将使用jot命令从第1天(y值)开始打印12月份的9天(x值)。

$ for i in `jot 9 1`; do echo December$i; done

这是输出:


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

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

factor命令

从名称可以清楚地看出,Linux中的factor命令用于计算我们提供数字的质因数。

语法:

$ factor number

示例:


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

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

bc命令

在bash中执行复杂操作时,bc命令非常有用。 此命令还可以进行比较,处理布尔值,计算平方根,正弦,余弦和切线等。您需要做的就是将数学表达式传递给bc命令,如下所示:

$ echo “math_expression” | bc

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

示例:

$ echo "10+10/2-(2*3)" | bc
如何在Linux命令行中进行基本的数学运算
计算π

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

在下面的示例中,我们通过指定一个缩小值来舍入十进制来打印π的值。

$ echo "scale=3; 4*a(1)" | bc -l
如何在Linux命令行中进行基本的数学运算

由于是保留3位小数,圆周率的结果将被精确到小数点后三位。

echo "scale=11; 4*a(1)" | bc -l
如何在Linux命令行中进行基本的数学运算

由于是保留11位小数,圆周率的结果将被精确到小数点后11位。

执行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数学还允许您在疑问括号内使用布尔和逻辑表达式来执行数学计算。

例:

$ ((x=10)); ((y=5))
if (( x > y )); then echo $x; fi
如何在Linux命令行中进行基本的数学运算

本文系统(linux)相关术语:linux系统 鸟哥的linux私房菜 linux命令大全 linux操作系统

代码区博客精选文章
分页:12
转载请注明
本文标题:如何在Linux命令行中进行基本的数学运算
本站链接:https://www.codesec.net/view/620998.html


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 系统(linux) | 评论(0) | 阅读(165)