Bash 算术运算符

17 Mar 2025 | 5 分钟阅读

在本主题中,我们将了解如何在 Bash 中使用算术运算符。

根据我们希望通过脚本获得的结果类型,我们可能需要在某些时候应用算术运算符。 像变量一样,它们也相当容易应用。 在 bash 脚本中,我们可以对数值执行算术运算以获得所需的结果。

Bash Shell 支持 11 个算术运算符。

查看下表,其中演示了每个算术运算符的语法、描述和示例

运算符描述示例
+加法,测量数字(操作数)的加法
$(( 10 + 3 )), result=13
-减法,测量从第一个操作数中减去第二个操作数
$(( 10 - 3 )), result=7
*乘法,测量操作数的乘法。
$(( 10 * 3 )), result=30
/除法,测量第一个操作数除以第二个操作数的除法,并返回商。
$(( 10 / 3 )), result=3
**求幂,测量第二个操作数乘以第一个操作数幂的结果。
$((  10 ** 3 )), result=1000
%取模,测量第一个操作数除以第二个操作数时的余数。
$(( 10 % 3 )), result=1
+=将变量递增常量 - 用于将第一个操作数的值递增提供的常量。
x=10
let "x += 3"
echo $x
result=13
-=将变量递减常量 - 用于将第一个操作数的值递减提供的常量。
x=10
let "x -= 3"
echo $x
result=7
*=将变量乘以常量 - 用于将第一个操作数的值乘以提供的常量。
x=10
let "x *= 3"
echo $x
result=30
/=将变量除以常量 - 用于计算 (variable / constant) 的值并将结果存储回变量。
x=10
let "10 /= 3"
echo $x
result=3
%=将变量除以常量的余数 - 用于计算 (variable % constant) 的值并将结果存储回变量。
x=10
let "10 %= 3"
echo $x
result=1

在 Bash 中执行算术运算

在 bash shell 上执行算术运算有很多选择。 以下是一些我们可以采用来执行算术运算的选项

双括号

双括号是在 Bash shell 中执行基本算术运算的最简单机制。 我们可以通过使用带或不带前导 $ 的双括号来使用此方法。

语法

我们可以应用四种不同的方法来实现所需的目标。 查看下面给出的方法,了解如何使用双括号机制(假设我们要将数字 10 和 3 相加

方法 1

方法 2

方法 3

方法 4

所有这些方法都将提供相同的输出,例如

Sum = 13

以下示例演示了在 Bash shell 脚本中使用双括号进行算术运算

Bash 脚本

输出

Bash Arithmetic Operators

Let 构造

Let 是 Bash 的一个内置命令,允许我们执行算术运算。 它遵循基本格式

语法

下面给出一个示例,解释如何在 Bash 脚本中使用 let 命令

Bash 脚本

输出

Bash Arithmetic Operators

反引号

在 bash 脚本中,也可以使用反引号和 expr(称为通用表达式求值器)来执行算术扩展。`expr` 类似于 'let',但它不会将结果保存到变量中。 它直接打印结果。 与 let 不同,我们不需要将表达式括在引号中。 我们需要在表达式的项目之间使用空格。 重要的是要注意,我们应该在命令替换中使用“expr` 将输出保存到变量。

我们也可以在没有“反引号”的情况下使用“expr`。

语法

下面给出一个示例,解释如何在 Bash 脚本中使用反引号和 expr

Bash 脚本程序

输出

Bash Arithmetic Operators

结论

在本主题中,我们讨论了如何使用算术运算符执行算术运算。


下一个主题Bash If 语句