expr命令将把一个算术表达式作为参数,通常形式如下:
expr [数字] [操作符] [数字]
由于Shell是按字符形式存储变量的,所以用户必须保证参加算术运算的操作数必须为数值。下面是有效的算术操作符:
+ 两个整数相加
- 第一个数减去第二个数
* 两整数相乘
/ 第一个整数除以第二个整数
% 两整数相除,取余数
例如:
[root@mail root]# expr 2 + 1
结果显示:3
[root@mail root]# expr 5 - 3
结果显示:2
若expr的一个参数是变量,那么在表达式计算之前用变量值替换变量名。
[root@mail root]# int=3
[root@mail root]# expr $int + 4
结果显示:7
用户不能单纯使用"*"做乘法,若输入:
[root@mail root]# expr 4*5
系统将会报错,因为Shell看到"*"将会首先进行文件名替换。正确形式为:
[[email protected] root]# expr 4 \* 5
结果显示:20
多个算术表达式可以组合在一起,例如:
[[email protected] root]# expr 5 + 7 / 3
结果显示:7
运算次序是先乘除后加减,若要改变运算次序,必须使用"`"号,如:
[[email protected] root]# int=`expr 5 + 7`
[[email protected] root]# expr $int/3
结果显示:4
或者:
[[email protected] root]# expr `expr 5+7`/3
结果显示:4