expr命令的英文全称是“expression”,即是表达式的意思,作用是一个命令行的计数器,常用于在UNIX/LINUX系统中求表达式变量的值,一般用于整数值,也可用于字符串。
**语法格式:** expr [表达式]
**常用参数:**
| 空格 | 隔开每个项 |
| ------------- | ------------------------------------------------ |
| \(反斜杠) | 放在 shell 特定的字符前面 |
| “”(引号) | 对包含空格和其他特殊字符的字符串要用引号括起来 |
**参考实例**
计算字串长度:
```
[root@anycode ~]# expr length “this is a test”
14
```
抓取字串:
```
[root@anycode ~]# expr substr “this is a test” 3 5
is is
```
抓取第一个字符数字串出现的位置:
```
[root@anycode ~]# expr index "sarasara" a
2
```
整数运算:
```
[root@anycode ~]# expr 14 % 9
5
[root@anycode ~]# expr 10 + 10
20
[root@anycode ~]# expr 1000 + 900
1900
[root@anycode ~]# expr 30 / 3 / 2
5
[root@anycode ~]# expr 30 * 3
expr: Syntax error
[root@anycode ~]# expr 30 /* 3
90
```
注意:使用乘号时,必须用反斜线屏蔽其特定含义。因为shell可能会误解显示星号的意义
使用expr进行四则运算:
```
[root@anycode ~]# expr \( 10 + 10 \) \* 2 + 100
140
```