shell算术运算符

文章目录

      • 算术运算符:
      • 算术运算扩展
      • 算术运算指令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* bc))结果一致,括号内变量的$可以省略;
用(())可以重定义变量值

算术运算指令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

如有乘号必须被转义
如有括号,括号必须被转义
表达式中参数与操作符必须空格分开,不然就会报错(如下图)

shell算术运算符_第1张图片

算术运算指令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

你可能感兴趣的:(shell,学习,笔记,linux,运维)