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

在Linux终端中进行算术运算的5种方法

[日期:2019-01-21 11:06:47] 来源:linux公社   作者:linux公社 [字体: ]

在本文中,我们将向您展示在Linux终端中进行算术运算的各种有用方法。 在本文结束时,您将学习在命令行中进行数学计算的基本不同实用方法。

让我们开始吧!

1.使用Bash Shell

在Linux CLI上进行基本数学运算的第一个也是最简单的方法是使用双括号。 以下是我们使用存储在变量中的值的一些示例:

  1. $ADD=$((1+2))$echo$ADD
  2. $MUL=$(($ADD*5))$echo$MUL
  3. $SUB=$(($MUL-5))$echo$SUB
  4. $DIV=$(($SUB/2))$echo$DIV
  5. $MOD=$(($DIV%2))$echo$MOD

Linux Bash Shell中的算法

2.使用expr命令

expr命令计算表达式并将提供的表达式的值打印到标准输出。 我们将研究使用expr进行简单数学,进行比较,增加变量值和查找字符串长度的不同方法。

以下是使用expr命令进行简单计算的一些示例。 请注意,许多运算符需要对shell进行转义或引用,例如*运算符(我们将在表达式的比较下查看更多)。

  1. $expr3+5$expr15%3
  2. $expr5\*3$expr5–3
  3. $expr20/4

在Linux中使用expr命令的基本算法

接下来,我们将介绍如何进行比较。 当表达式求值为false时,expr将打印值0,否则打印1。

我们来看一些例子:

  1. $expr5=3$expr5=5
  2. $expr8!=5$expr8\>5
  3. $expr8\<5$expr8\<=5

比较Linux中的算术表达式

您还可以使用expr命令增加变量的值。 看一下下面的例子(以同样的方式,你也可以减少一个变量的值)。

  1. $NUM=$((1+2))$echo$NUM
  2. $NUM=$(expr$NUM+2)$echo$NUM

变量的增量值

让我们看一下如何使用以下方法查找字符串的长度:

$ expr length "这里是Linux公社 www.linuxidc.com"

有关上述运算符含义的更多信息,请参见expr手册页:

  1. $manexpr

3.使用bc命令

bc(基本计算器)是一个命令行实用程序,它提供了您希望从简单的科学或金融计算器中获得的所有功能。 它对于进行浮点数学运算特别有用。

如果未安装bc命令,则可以使用以下命令安装:

  1. $sudoaptinstallbc#Debian/Ubuntu$sudoyuminstallbc#RHEL/CentOS
  2. $sudodnfinstallbc#Fedora22+

安装后,您可以通过向其传递参数以交互模式或非交互方式运行它 - 我们将查看这两种情况。 要以交互方式运行它,请在命令提示符下键入命令bc并开始进行一些数学运算,如图所示。

  1. $bc

以非交互模式启动bc

下面的示例展示了如何在命令行上非交互式地使用bc。

  1. $echo'3+5'|bc$echo'15%2'|bc
  2. $echo'15/2'|bc$echo'(6*2)-5'|bc

-l标志用于默认比例(小数点后的数字)到20,例如:

  1. linuxidc@linuxidc:~/www.linuxidc.com$echo'13/5'|bc
  1. linuxidc@linuxidc:~/www.linuxidc.com$echo'13/5'|bc-l2.60000000000000000000

用浮动数字做数学

4.使用Awk命令

Awk是GNU/Linux中最着名的文本处理程序之一。 它支持加法,减法,乘法,除法和模数运算符。 它对于进行浮点数学运算也很有用。

您可以使用它来执行基本数学运算,如图所示。

  1. $awk'BEGIN{a=6;b=3;print"(a+b)=",(a+b)}'$awk'BEGIN{a=6;b=3;print"(a-b)=",(a-b)}'
  2. $awk'BEGIN{a=6;b=3;print"(a*b)=",(a*b)}'$awk'BEGIN{a=6;b=3;print"(a/b)=",(a/b)}'
  3. $awk'BEGIN{a=6;b=3;print"(a%b)=",(a%b)}'

5.使用factor命令

factor命令用于将整数分解为素数因子。 例如:

  1. linuxidc@linuxidc:~/www.linuxidc.com$factor1818:233
  2. linuxidc@linuxidc:~/www.linuxidc.com$factor133133:719
  3. linuxidc@linuxidc:~/www.linuxidc.com$factor2323:23
  4. linuxidc@linuxidc:~/www.linuxidc.com$factor200200:22255

【编辑推荐】

Linux公社的RSS地址http://www.it56.cn/rss.xml

本文永久更新链接地址www.it56.cn/it/9143.html

linux