Linux命令行上数学怎么办

有不少有趣的命令在Linux系统上做数学,包括expr因素,记,公元前的命令。

  • 在Facebook上分享
  • 在Twitter上分享
  • 分享在LinkedIn
  • 在Reddit分享
  • 通过电子邮件分享
  • 印刷资源
Linux命令行上数学怎么办
Wallpoper

你能做数学吗Linux命令行吗?你肯定可以!事实上,有相当多的命令可以简化这个过程,你甚至可以找到一些有趣的。让我们来看看一些非常有用的命令行命令和语法数学。

expr

第一,可能最明显的和常用的命令在命令行上执行数学计算expr(表达式)命令。它可以管理加、减、除法和乘法。它也可以用来比较数字。下面是一些例子:

增加一个变量

数= 0美元数= expr计数+ 1美元的回波数1美元

执行一个简单的计算和比较

expr 11 + 123 134美元expr 134/11 12 expr 134 - 11 123美元expr 11 * 123 expr:语法错误< = =哦!expr 11 \ * 123 1353美元expr 20% 3 2美元expr 11 \ > 10 1 expr 11 \ > 17美元0

请注意,您必须使用\字符*防止shell解释前面的星号作为参考,所有文件在当前目录和>面前阻止它被用于重定向命令的输出。%运算符是模计算。

这是一个稍微复杂的例子:

参与者= 11 = 156总份额= expr总美元/ $参与者的剩余= expr总美元——参与者\ *美元份额的回声分享14回声剩余2美元

如果我们有11个参与者在某些事件和156年奖金分配,每个参与者的公平份额是14,离开2锅中。

做比较

现在让我们看看的逻辑比较。这些语句可能看起来有点奇怪。他们不是设置值,但只有比较数字。什么expr在下面的例子是确定语句是否正确。如果结果是1,该声明是真实的;否则,这是错误的。

expr 11 = 11 1美元expr 11 = 12 0

读为“11 = 11吗?”和“11 = 12什么?”你会适应这是如何工作的。当然,没有人会问如果在命令行上11 = 11,但他们可能会问,如果年龄= 11美元。

$年龄= 11 expr年龄= 11 1美元

在数字上加上引号并不意味着你必须做一个字符串比较,而不是一个数字——显然,除非其中一个参数是一个字符串。

美元expr“十一”=“十一”1
$ expr“十一”=“011”
1美元expr“十一”=“十一”0

在下面的例子中,我们问是否大于5,10,是否大于99。

expr 10 \ > 5美元1 expr 10 \ > 99 0美元

当然,拥有真正的比较结果1和0错误导致违背我们普遍预计在Linux系统。下面的例子表明,使用expr在这种背景下不工作,因为如果与相反的方向(0 = true)。

# !/bin/bash echo - n“成本我们>”阅读成本echo - n“价格我们问>”阅读价格如果[expr价格\ >成本美元”);然后回声还有“我们赚钱”与“不卖”fi

现在,让我们来运行这个脚本:

美元。/ checkPrice成本> 11.50的价格我们问> 6我们赚钱

那肯定不会帮与销售!一个小小的改变,这将工作和我们预期的一样:

# !/bin/bash echo - n“成本我们>”阅读成本echo - n“价格我们问>”阅读价格如果[expr价格\ >成本美元的= = 1];然后回声还有“我们赚钱”与“不卖”fi

因素

因素命令就像你可能期望工作。你喂它很多,它告诉你它的因素是什么。

因素111美元111:134 134:37美元因素2 67美元因素17894 17894:23 389美元因素1987 1987:1987

注意:在保理因素命令并没有取得多少进展,因为1987是一个最后的价值质数

命令允许您创建一个数字列表。为其提供值的数量你想看到和你想要的数量。

美元记8 10 10 11 12 13 14 15 16 17

您还可以使用像这样。这里我们要减少数量,告诉它我们要停止当我们到达2:

记8美元10 2 10 9 8 7 5 4 3 2

命令可以是有用的,如果你想遍历一系列数据来创建一个列表用于其他目的。

我在记7 17的美元;4月做呼应我美元;完成4月17日4月18日4月19日4月20日4月21日4月22日4月23日

公元前

公元前命令可能是一个最好的工具命令行上进行计算。输入你想要执行的计算,管它命令如下:

美元回声“123.4 + 5/6 - (7.89 * 1.234)|公元前113.664

请注意,公元前不回避精度和你需要输入的字符串是相当简单的。它还可以进行比较,处理布尔运算,计算平方根,正弦、余弦、正切,等等。

美元回声“sqrt (256)”|公元前16 $ echo "s(90)" | bc -l .89399666360055789051

事实上,公元前甚至可以计算π。你决定你想看多少小数点:

美元回声”规模= 5;4 * (1)”|公元前-l 3.14156 $ echo "scale=10; 4*a(1)" | bc -l 3.1415926532 $ echo "scale=20; 4*a(1)" | bc -l 3.14159265358979323844 $ echo "scale=40; 4*a(1)" | bc -l 3.1415926535897932384626433832795028841968

公元前不只是通过管道接收数据和发送答案。您还可以交互式地启动它,并输入您想要执行的计算。设置(如下所示)规模决定了有多少小数点后你会看到。

公元前公元前1.06.95版权1991 - 1994,1997,1998,2000,2004,2006自由软件基金会,公司。这是自由软件,绝对没有保修。详情类型“保修”。规模= 2 3/4 2/3点退出

使用公元前,你也可以把数字在不同的基地。的obase设置决定输出基地。

公元前公元前1.06.95版权1991 - 1994,1997,1998,2000,2004,2006自由软件基金会,公司。这是自由软件,绝对没有保修。详情类型“保修”。obase = 16 16 < = = =进入10 < < = = = = = =响应256进入100 < = = =响应辞职

最简单的方法之一将十六进制与十进制之间使用公元前是这样的:

美元回声”ibase = 16;F2”|公元前242美元回声”obase = 16;公元前242年“| F2

在上面的第一个例子中,我们将从十六进制转换为十进制通过设置输入基地(ibase)十六进制(基地16)。第二,我们做反向通过设置outbut基地(obase)十六进制。

简单的bash数学

集双重括号的,我们可以做一些简单的数学在bash中。在下面的例子中,我们创建一个变量,并给它一个值,然后执行加法,衰减结果,然后平方剩余价值。

美元$ ((e = 11)) ((e = e + 7))回波e 18美元$ ((e -)) $回声e 17美元((e = e * * 2))回波e 289美元

算术运算符允许您:

+ -加减+ +,递增和递减* / %相乘,分裂,找到剩余* *指数

您还可以使用逻辑和布尔操作符:

$ ((x = 11));如果美元(y = 7) ((x > y));然后>呼应“x > y”> fi x > y
$ ((x = 11));((y = 7));如果美元(z = 3) ((x > y)) > > ((y > z));然后>呼应“字母”滚下山去> fi字母滚下山去

或者如果你喜欢…

如果美元[x > y] < < [y > z];然后回声“字母滚下山去”;fi字母滚下山去

现在让我们提高2的3次方:

回声“2 ^ 3美元2 ^ 3美元回声“2 ^ 3”|公元前8

总结

肯定有许多不同的方式来处理数字和Linux系统在命令行上执行计算。我希望你拿起一个新的技巧两个通过阅读这篇文章。

两分钟Linux提示:如何使用地铁命令

版权©2018 IDG通信公司。Raybet2

企业网络2022的10个最强大的公司