1. 整数计算
(1). expr
expr 可以有多个运算符组成的表达式,但运算符之间必须有空格隔开;特殊的运算符 需要加转义字符;比如称号 * ----> \*
$expr 10 -2 \* 3 + 4 / 2 #运算符两侧必须有空格
expr: syntax error
$ expr 10 - 2 \* 3 + 4 / 2
$expr 10 - 2 * 3 + 4 / 2 # * 必须用\ 来转义
expr: syntax error
$ expr 10 - 2 \* 3 + 4 / 2
注:expr 在脚本中是命令;如果给变量赋值,需要用`` 或者$()
$ a=`expr 10 - 2 \* 3 + 4 / 2`
$ echo $a
6
(2). $[]
$[] 可以有多个运算符组成的表达式;而且运算符两侧不是必须有空格【有、无空格均可】; * 也不能用\ 来转义;否则会报错
#!/bin/bash
arr=(10 20 30)
echo "${arr[0]},${arr[2]}"
bb=$[(10-2) * 3] # 运算符两侧无须有空格;有无皆可
echo "bb=$bb"
var1=${arr[0]};
var2=${arr[1]};
var3=${arr[