Shell 算术运算

本文最后更新于:2024年3月18日 凌晨

Shell 算术运算

运算符

运算符 说明 举例
+ 加法 expr $a + $b
- 减法 expr $a - $b
* 乘法 expr $a \* $b
/ 除法 expr $b / $a
% 取余 expr $b % $a

(( ))

  • 与 let 指令相似,用在算数运算上,是 bash 的内建功能,所以,在执行效率上会比使用 let指令要好许多。
  • 想取到运算结果,需要用$引用。
1
2
3
4
5
6
#!/bin/bash
a=$((1+2))
b=$(((2+3)*4))
count=1
((count++))
echo $count

let 命令

let 命令是 BASH 中用于计算的工具,用于执行一个或多个表达式,变量计算中不需要加上$来表示变量,如果表达式中包含了空格或其他特殊字符,则必须引起来。

语法格式

1
let arg [arg ...]
  • arg:要执行的表达式。

实例

  • 自加操作:let no++
  • 自减操作:let no--
  • **简写形式: **let no+=10,let no-=20,分别等同于let no=no+10,let no=no-20

以下实例计算 a 和 b 两个表达式,并输出结果:

1
2
3
4
5
#!/bin/bash

let a=5+4
let b=9-3
echo $a $b

以上实例执行结果为:

1
9

expr

  • expr 是一款表达式计算工具,使用它能完成表达式的求值操作。
1
2
3
4
#!/bin/bash

val=`expr 2 + 2`
echo "两数之和为: $val"
1
两数之和为: 4

注意

  • 表达式和运算符之间要有空格,例如2+2是不对的,必须写成2 + 2
  • 完整的表达式要被反单引号包含,注意这个字符不是常用的单引号,在 Esc 键下边。

[]

  • 代码中的[]执行基本的算数运算。
  • 注意:要想取到运算结果,需要用$引用。
1
2
3
4
5
6
7
#!/bin/bash

a=5
b=6

result=$[a+b] # 注意等号两边不能有空格。
echo "result 为:$result"
  • 结果为:
1
result 为:11

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!