手机版
你好,游客 登录 注册
背景:
阅读新闻

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

[日期:2018-12-08] 来源:Linux公社  作者:醉落红尘 [字体: ]

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.linuxidc.com$ expr 11 \* 10

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

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

linuxidc@linuxidc:~/www.linuxidc.com$ 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.linuxidc.com$ children=20
linuxidc@linuxidc:~/www.linuxidc.com$ sweets=158
linuxidc@linuxidc:~/www.linuxidc.com$ PerChildShare=`expr $sweets / $children`
linuxidc@linuxidc:~/www.linuxidc.com$ RemainingSweets=`expr $sweets - $children \* $PerChildShare`
linuxidc@linuxidc:~/www.linuxidc.com$ echo $PerChildShare
7
linuxidc@linuxidc:~/www.linuxidc.com$ echo $RemainingSweets
18

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

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

jot命令

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

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

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

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

linuxidc@linuxidc:~/www.linuxidc.com$ 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命令行中进行基本的数学运算

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

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

更多Linux命令相关信息见Linux命令大全 专题页面 https://www.linuxidc.com/topicnews.aspx?tid=16

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址https://www.linuxidc.com/Linux/2018-12/155746.htm

linux
相关资讯       Linux数学运算 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款