Linux expr命令
Linux expr命令
expr命令用于评估给定的表达式并显示其标准输出。每个单独的表达式都被视为一个参数。这些表达式可以是整数和字符串表达式,包括正则表达式。如果未正确传递表达式,则将阻止命令的执行。
expr命令支持以下运算符:
用于整数: 加,减,乘,除和模。
对于字符串: 正则表达式,字符串中的字符集。
如果我们想在终端上工作时执行某个操作,例如在字符串中搜索子字符串,搜索其索引,执行算术运算等等,这将非常有用。因此,expr命令允许我们从终端执行所有这些任务。
语法:
expr表达式
选项:
expr命令支持以下选项,以使其更有用。
-帮助: "帮助" 选项将显示其文档,其中包含其说明和其他有用信息。如果在使用expr命令时遇到问题,它将很有用。要获取帮助,请执行以下命令:
以上命令将显示帮助并退出。考虑以下输出:
-版本: 用于显示版本信息。它将显示信息,例如它是开源的,保修信息,其特定版本以及作者的姓名。要显示版本信息,请执行以下命令:
考虑以下输出:
让我们了解一些基本和高级的知识expr命令的示例。在本节中,我们将在ubuntu上执行所有示例,但它也可以在所有基于Linux的系统上工作。
示例1: 使用expr命令执行基本的算术运算。
要执行基本的算术运算,请执行expr命令,并在其上传递整数和运算符。请记住,每个标记(表达式)都应以空格分隔。请考虑以下示例:
加法: 加两个数字15和12、
输出:
减法: 减去10和5、
输出:
乘法: 分别乘以10和5、
输出:
除法: 10除以2、
输出:
Example2: 查找字符串的长度。
要查找字符串的长度,我们以字符串'ALPHABET。'为例。执行以下命令以查找给定字符串的长度:
a=hello<br>
b=`expr length $a`<br>
echo $b
在上述命令中,第一个变量存储给定字符串的值,第二个变量存储字符串的长度。 echo命令将显示b的值。考虑以下输出:
示例3: 找到
要在字符串" ALPHABET"中查找字符" P"的位置,请执行以下命令:
a=ALPHABET<br>
b=`expr index $a P`<br>
echo $b
以上命令将显示指定字符的位置。考虑下面的输出: 它显示的位置为'3',因为它是开头的第三个字符。
示例4: 从字符串中查找子字符串。
让我们找到一个从第三个字符开始的子字符串。第六,来自字符串" ALPHABET"。执行以下命令:
a=ALPHABET
b=`expr substr $a 3 6`
echo $b
以上命令将从第三个字符开始修剪长度为6的字符串。考虑以下输出:
示例5: 对变量执行操作
我们还可以使用Shell脚本对变量执行操作。例如,让我们创建一个将两个数字相加的脚本。创建文件'script.sh',并在其中写入以下脚本:
echo "Enter two numbers"
read a
read b
sum=`expr $a + $b`
echo "Sum = $sum"
上面的脚本将从终端获取变量a和b的值,并使用expr命令执行加法。
使用 chmod 命令使脚本可执行如下:
现在,以以下方式执行脚本:
考虑以下输出:
示例6: 比较两个表达式。
我们可以使用expr命令比较两个表达式。几个逻辑运算符(例如" =,<,>,!=",)用于比较表达式。如果条件为true,则结果为1,如果条件为false,则结果为0。让我们以两个数字为例,分别是50和70。声明两个变量a和b,如下所示:
检查a是否等于b:
检查a是否小于b:
检查a是否等于b:
如果条件为true,则上述命令的输出为1,否则为0。请考虑以下输出:
示例7: 匹配两个字符串中的字符数。
我们可以显示两个字符串中的匹配字符数。要显示匹配的字符数,请执行expr命令,并按如下所示传递字符串:
例如,执行以下命令:
expr lidihuo : lidihuo
expr alphabet : alpha
expr alphabet : alphabet
以上命令将显示匹配字符的数量。考虑以下输出:
示例8: 递增变量../strong>
expr命令还用于使变量的值递增。例如,声明一个值为20的变量:
将值增加1:
将值增加5:
在上面的命令中,我们已将增量值存储在新变量'b'中,但是更新后的值也可以存储在同一变量中。考虑以下输出:
示例9: 查找模数值。
要查找模量值,请使用算子取模(%)。例如,找到10 mod 5,执行命令为:
对于20 mod 30,请执行以下命令:
以上命令将显示给定数字的mod值。考虑以下输出:
示例10: 显示介于这两个条件。
对于一个场景,有两个条件,一个是正确的,另一个是错误的,我们要显示真实的条件。为此,我们将在两个条件之间使用'|'运算符,如果条件为true,它将显示condition1;否则,将显示condition1、否则,将显示condition2、考虑以下命令:
a=20
b=30
c=`expr $a \< $b`
d=`expr $a \= $b`
e=`expr c \| d`
echo $e
在上面的命令中,有两个条件c和d,我们正在变量e中对其进行比较。它将打印真实情况。考虑以下输出: