Linux expr命令教程为初学者(附例)

有时,在命令行工作时(特别是处理shell脚本时),您可能会发现自己处于一种情况,您必须执行操作,例如在字符串中搜索子字符串,找到其索引以及其他类似的东西执行比较和算术运算。

对于那些不了解的人,存在一个命令行实用工具(称为expr ),可以让您做到这一切。 在本教程中,我们将讨论此命令的基础知识及其提供的一些功能。 请注意,这里提到的所有示例和说明都已在Ubuntu 16.04LTS上进行了测试。

Linux expr命令

该工具的官方文档说它用于评估表达式。 以下是expr命令的语法:

expr EXPRESSION
expr OPTION

以下是一些Q&A风格的示例,它将为您提供有关该工具的工作原理。

Q1。 如何使用expr进行算术运算?

假设你想添加两个数字(比如说5和6),你可以使用expr来做这个:

expr 5 + 6

以上是上述命令:

所以你可以看出,产出中产生了'11'的总和。 请注意,操作员两侧的单个空格(在这种情况下为'+')是必需的。 否则,expr命令将产生以下输出:

这显然是错误的,而不是我们的期望。

类似地,减法操作可以以下列方式进行:

expr 15 - 6

这是一个例子:

expr 10 / 3

请注意,上述命令只能输出3。 如果您想查看其余部分,请使用%运算符。

expr 10 % 3

理想情况下,以下列方式实现乘法:

expr 10 * 3

但是这不行,因为*是一个内置的shell操作符。 因此,为了使其像乘法运算符一样,您需要以下列方式将其转换为转义字符:

expre 10 \* 3

Q2。 如何使用expr执行比较操作?

expr命令还允许您以各种方式执行比较操作。 例如,以下命令(下面的屏幕截图第三个)将返回ARG1,如果它既不为null也不为0,否则为ARG2。

请注意,管道之前的反斜杠用作转义字符,因为管道另外被视为内置shell运算符。

同样,您可以执行大量操作。 以下屏幕截图(从命令的手册页中取出)应该能够让您了解可以使用expr命令进行什么样的比较。

Q3。 如何使用expr执行与字符串相关的操作?

expr命令还允许您执行多个与字符串相关的操作。 例如,要查找字符串的长度,可以按照以下方式使用该工具:

expr length [string]

如果字符串包含空格,则需要使用转义字符。

继续,您也可以使用expr提取给定字符串中的子字符串。 这里是语法:

expr substr [string] [pos] [length]

例如,要从“youcl”获取“forge”,您可以按照以下方式使用该工具:

此外,您还可以使用expr查找给定字符串中的一组字符的起始索引。 这是它的语法

expr index [string] [chars]

例如,要在“youcl”中找到'wt'的索引,请使用expr,方法如下:

结论

您可能会同意,expr是一个功能丰富的命令,但易于理解和易于使用。 在这个教程中,我们已经尝试为您提供有关它提供的大部分基本功能的信息。 完成练习之后,您可以前往工具的手册页了解更多信息。

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏