Bash shell四则运算
文章目录
- 四则运算
- 1. expr 命令
- 2. $(( )) 表达式(推荐)
- 3. $[ ] 表达式(已弃用)
- 4. let 命令
- 小数运算
- i++ 和 ++i 区别
四则运算
算术运算:+ - * / %(取模,求余数)
Bash shell 中算术运算的四种主要方式及特点如下:
1. expr 命令
需严格遵循空格规则,乘法符号 * 需转义为 \*:
r=`expr 4 + 5` # 加法
r=`expr 4 \* 5` # 乘法(需转义)
缺点:不支持乘幂运算(如 **)。
2. $(( )) 表达式(推荐)
语法简洁,运算符(如 *)无需转义,支持乘幂 **:
r=$(( 4 + 5 )) # 加法
r=$(( 2 ** 3 )) # 乘幂(2的3次方)
优点:符合 POSIX 标准,操作符间空格灵活。
3. $[ ] 表达式(已弃用)
语法类似 $(( )),但属旧式写法,部分新版 Bash 已不兼容:
r=$[ 4 * 5 ] # 乘法
不推荐使用,建议优先选择 $(( ))。
4. let 命令
直接操作变量,支持自增/自减等简化表达式:
let n=5+3 # 加法
let n++ # 自增(等价于 n=n+1)
let "m = 4 * 2" # 乘法(引号内表达式可含空格)n=2;let n=n**3 #2^3=8
echo $n
小数运算
shell不能做小数运算,做小数运算要装bc命令
echo 1+1.5|bc
i++ 和 ++i 区别
对变量的值没有影响
对表达式的值有影响