📅  最后修改于: 2020-12-08 05:05:13             🧑  作者: Mango
expr命令用于评估给定表达式并显示其标准输出。每个单独的表达式都被视为一个参数。这些表达式可以是整数和字符串表达式,包括正则表达式。如果未正确传递表达式,则将阻止执行命令。
expr命令支持以下运算符:
如果我们要在终端上工作时执行某个操作,例如在字符串中搜索子字符串,搜索其索引,执行算术运算等,这将非常有用。因此,expr命令允许我们从终端执行所有这些任务。
表达式
expr命令支持以下选项,以使其更有用。
expr --help
上面的命令将显示帮助并退出。考虑以下输出:
expr --version
考虑以下输出:
让我们了解一下expr命令的一些基本和高级示例。在本节中,我们将在ubuntu上执行所有示例,但它也可以在所有基于Linux的系统上工作。
示例1:使用expr命令执行基本的算术运算。
要执行基本的算术运算,请执行expr命令,并在其上传递整数和运算符。请记住,每个标记(表达式)都应以空格分隔。请考虑以下示例:
expr 15 + 12
输出:
expr 10 - 5
输出:
expr 10 \* 5
输出:
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真实情况。考虑以下输出: