expr是一个Linux手工命令行计数器,用于在UNIX/LINUX下求表达式变量的值,一般用于整数值,也可用于字符串。

–格式为:expr Expression(命令读入Expression 参数,计算它的值,然后将结果写入到标准输出)
–参数应用规则:
用空格隔开每个项;
用 \ (反斜杠) 放在 shell 特定的字符前面;
对包含空格和其他特殊字符的字符串要用引号括起来

用法实例

(1)、计算字串长度:计算字符串的总长度,空格算一个字符。

 expr length "this is a test"

14

(2)、抓取字串:前面一个数字是字符的起始点,后面一个是从字符起始点算起的字符长度,空格算一个字符。下例为从第3个开始,抓取5个字符长度。

expr substr "this is a test" 3 5
is is

(3)、抓取第一个字符数字串出现的位置:抓取指定字符出现的位置,下例s出现在第4位。

expr index "this is a test"  s
4

(4)、字串真实重现

expr `quote sara`
sara

(5)、整数运算

算余数:40/6,余数为4

expr 40 % 6

4

算加法

expr 10 +10

20

expr 1000 + 900

1900

算除法

expr 30 / 3 / 2

5

算乘法

expr 30 \* 3 (使用乘号时,必须用反斜线屏蔽其特定含义。因为shell可能会误解显示星号的意义)

90

(6)、增量计数
说明:expr在循环中用于增量计算。先将变量初始化为4,然后循环值加1。

#!/bin/bash

aaa=4

aaa=$(expr $aaa + 1)

echo $aaa

当输出$aaa时,会出现数字5

(7)、数值测试
说明:用expr测试一个数。如果试图计算非整数,则会返回错误。会出现:expr: non-integer argument

#!/bin/bash

aaa=4.4
expr $aaa + 1

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注