expr

Shell 中的基本算术运算可以通过使用 expr 来实现。

功能: 进行算术运算

用法

1
expr <操作数1> <操作符> <操作数2>

示例

1
2
3
4
5
6
$ expr 1 + 3
$ expr 2 - 1
$ expr 10 / 2
$ expr 20 % 3
$ expr 10 \* 3
$ echo `expr 6 + 3` # 注意用的是反引号(`)而不是单引号(')

注意
  1. 操作数和操作符之间一定要 保留空格 ,否则打印出来的结果还是 6+3
  2. 相乘的操作符写成 \* 而不是 * ,否则Shell会认为是通配符 *

$(())

另外一种不需要敲 expr 命令也可以进行计算的方法是使用 $(()) 。这种计算是符合C语言的运算符,也就是说只要符合C的运算符都可用在$((exp)),甚至是三目运算符。

注意:这种扩展计算是整数型的计算,不支持浮点型。若是逻辑判断,表达式exp为真则为1,假则为0。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$ echo $((3+2))
5
$ echo $((3>2))
1
$ echo $((25<3 ? 2:3))
3
$ echo $var
$ echo $((var=2+3))
5
$ echo $var
5
$ echo $((var++))
5
$ echo $var
6
$

Comments