📜  Linux Expr命令

📅  最后修改于: 2020-12-08 05:05:13             🧑  作者: Mango

Linux expr命令

expr命令用于评估给定表达式并显示其标准输出。每个单独的表达式都被视为一个参数。这些表达式可以是整数和字符串表达式,包括正则表达式。如果未正确传递表达式,则将阻止执行命令。

expr命令支持以下运算符:

  • 对于整数:加,减,乘,除和模。
  • 对于字符串:正则表达式,字符串中的字符集。

如果我们要在终端上工作时执行某个操作,例如在字符串中搜索子字符串,搜索其索引,执行算术运算等,这将非常有用。因此,expr命令允许我们从终端执行所有这些任务。

句法:

表达式

选项:

expr命令支持以下选项,以使其更有用。

  • –help: “帮助”选项将显示其文档,其中包含其说明和其他有用信息。如果在使用expr命令时遇到问题,它将很有用。要获取帮助,请执行以下命令:
expr --help

上面的命令将显示帮助并退出。考虑以下输出:

  • –version:用于显示版本信息。它将显示信息,例如它是开源的,保修信息,其特定版本以及作者的姓名。要显示版本信息,请执行以下命令:
expr --version

考虑以下输出:

让我们了解一下expr命令的一些基本和高级示例。在本节中,我们将在ubuntu上执行所有示例,但它也可以在所有基于Linux的系统上工作。

示例1:使用expr命令执行基本的算术运算。

要执行基本的算术运算,请执行expr命令,并在其上传递整数和运算符。请记住,每个标记(表达式)都应以空格分隔。请考虑以下示例:

  • 加法:加两个数字15和12。
expr 15 + 12

输出:

  • 减法:减10和5。
expr 10 - 5

输出:

  • 乘法:分别乘以10和5。
expr 10 \* 5

输出:

  • 除法: 10除以2。
expr 10 / 2

输出:

示例2:查找字符串的长度。

要查找字符串的长度,我们以字符串“ ALPHABET”为例。执行以下命令以查找给定字符串的长度:

a=hello
b=`expr length $a`
echo $b

在以上命令中,第一个变量存储给定字符串的值,第二个变量存储字符串的长度。 echo命令将显示b的值。考虑以下输出:

例3:查找字符串字符的位置。

要查找字符串“ ALPHABET”中字符“ P”的位置,请执行以下命令:

a=ALPHABET
b=`expr index $a P`
echo $b

上面的命令将显示指定字符的位置。考虑以下输出:它显示位置为'3' ,因为它是开头的第三个字符。

示例4:从字符串找到子字符串。

我们从字符串“ ALPHABET”中找到一个从第三个字符到第六个字符的子字符串。执行以下命令:

a=ALPHABET
b=`expr substr $a 3 6`
echo $b

上面的命令将从第三个字符修剪长度为6的字符串。考虑以下输出:

示例5:使用Shell脚本对变量执行操作。

我们还可以通过使用Shell脚本对变量执行操作。例如,让我们创建一个用于添加两个数字的脚本。创建一个文件“ script.sh”,并在其中写入以下脚本:

echo "Enter two numbers"

read a

read b

sum=`expr $a + $b`

echo "Sum = $sum"

上面的脚本将从终端获取变量a和b的值,并使用expr命令执行加法。

使用chmod命令使脚本可执行,如下所示:

chmod +x script.sh

现在,执行脚本为:

./script.sh

考虑以下输出:

例6:比较两个表达式。

我们可以使用expr命令比较两个表达式。几个逻辑运算符(例如“ =,<,>,!=”)用于比较表达式。如果条件为true,则结果为1,如果条件为false,则结果为0。让我们以两个数字为例,分别是50和70。声明两个变量a和b,如下所示:

a=50
b=70

检查a是否等于b:

c=`expr $a = $b`
$c

检查a是否小于b:

c=`expr $a \< $b`
$c

检查a是否等于b:

c=`expr $a \!= $b`
$c

根据上述命令,如果条件为true,则输出将为1,否则为0。请考虑以下输出:

示例7:匹配两个字符串的字符数。

我们可以在两个字符串显示匹配字符的数量。要显示匹配的字符,请执行expr命令,并按如下所示传递字符串:

expr string1 : string2

例如,执行以下命令:

expr javatpoint : javatpoint
expr alphabet : alpha
expr alphabet : alphabet

上面的命令将显示匹配字符的数量。考虑以下输出:

示例8:递增变量。

expr命令还用于使变量的值递增。例如,声明一个值为20的变量:

a=20

将值增加1:

b=`expr $a + 1`
$b

将值增加5:

b=`expr $a + 5`
echo $b

在以上命令中,我们已将增量值存储在新变量“ b”中,但是更新后的值也可以存储在同一变量中。考虑以下输出:

例9:查找模量值。

要找到模量值,请使用运算符模(%)。例如,找到10 mod 5,执行命令如下:

expr 10 % 5

对于20 mod 30,请执行以下命令:

expr 20 % 30

上面的命令将显示给定数字的mod值。考虑以下输出:

示例10:显示两个条件之间的真实条件。

对于一个场景,有两个条件,一个是正确的,另一个是错误的,我们要显示真实的条件。为此,我们将使用“ |”两个条件之间的运算符,如果为true,则将显示condition1;否则为false。否则,将显示condition2。考虑以下命令:

a=20
b=30
c=`expr $a \< $b`
d=`expr $a \= $b`
e=`expr c \| d`
echo $e

在上面的命令中,有两个条件c和d,我们将它们与变量e进行比较。它将print真实情况。考虑以下输出: