文章目录
- 算术运算符:
- 算术运算扩展
- 算术运算指令expr
- 算术运算指令let
- 自增自减运算符
算术运算符:
+ 加法
- 减法
* 乘法
/ 除法
% 取余
** 幂运算
算术运算扩展
算术运算扩展的运算数只能是整数
[root@localhost tmp]# num1=$[4+1]
[root@localhost tmp]# echo $num1
表达式为:5*2-3
echo num1=$(($num1*2-3))
echo $((num2=2+3**2-1001%5))
[root@localhost tmp]# a=3;b=6;c=15
[root@localhost tmp]# echo $((a+b*c))
比对
[root@localhost tmp]# echo $(($a+$b*$c))
93
总结:
echo $((a+b*c)) 与 echo
(
(
((
((a+
b
∗
b*
b∗c))结果一致,括号内变量的$可以省略;
用(())可以重定义变量值
算术运算指令expr
"expr"通常用于指代Unix和Linux操作系统中的一个命令或实用程序。它通常用于计算和显示算术表达式的值或执行其他字符串操作。
[root@localhost tmp]# expr 5 % 3
2
[root@localhost tmp]# expr 5 \* 3
15
[root@localhost tmp]# expr 2 + 5 \* 2 - 3 % 2
11
[root@localhost tmp]# expr \( 2 + 5 \) \* 2 - 6
8
如有乘号必须被转义
如有括号,括号必须被转义
表达式中参数与操作符必须空格分开,不然就会报错(如下图)
算术运算指令let
let是bash内部命令,也是计算表达式的指令。
[root@localhost tmp]# echo ${num3=1}
[root@localhost tmp]# num2=$((4 + 1)); echo $num2
自增自减运算符
自增自减操作元只能是变量
var++ 自增
var-- 自减
#!/bin/bash
# 自增变量x的值
x=5
((x++)) # 或者 x=$((x + 1))
echo $x # 输出 6
# 自减变量y的值
y=10
((y--)) # 或者 y=$((y - 1))
echo $y # 输出 9