在 Bash 中做数字加法

Fumbani Banda 2023年1月30日
  1. 在 Bash 中使用 expr 进行加法
  2. 在 Bash 中使用算术展开进行加法
  3. 在 Bash 中使用 bc 相加浮点数
  4. 在 Bash 中使用 awk 添加浮点数
在 Bash 中做数字加法

本教程展示了使用 expr、算术扩展、bcawk 在 bash 脚本中数字加法的不同方法。

在 Bash 中使用 expr 进行加法

expr 是一个命令行 Unix 实用程序,用于计算给定表达式并将值打印到标准输出。expr 可以计算整数或字符串表达式,包括模式匹配和正则表达式。expr 使用下面的语法。

$expr expression

要使用 expr 在 bash 脚本中相加两个整数,请使用以下任一语法。第一种语法使用引号,而第二种语法使用括号并以美元符号开头。

total=`expr $num1 + $num2`
total=$(expr $num1 + $num2)

请注意,= 符号前后没有空格。给变量赋值时没有空格是内置的 bash 语法。

让我们编写一个 bash 脚本,使用带引号的 expr 将两个数字相加。两个整数 23 分别分配给变量 num1num2。两个变量之和被赋值给 total 变量,echo 命令用于将 total 变量的值打印到标准输出。

num1=2
num2=3
total=`expr $num1 + $num2`
echo $total

运行脚本。

bash add.sh

运行脚本会给出以下输出。

5

让我们还创建一个 bash 脚本,它使用带括号的 expr 来添加两个整数。

num1=2
num2=3
total=$(expr $num1 + $num2)
echo $total

运行脚本。

bash add.sh

脚本执行后,会产生以下输出。

5

在 Bash 中使用算术展开进行加法

Linux 中的算术扩展使用内置的 shell 扩展来使用括号进行数学计算。以下语法用于算术扩展。

$(( arithmentic expression ))

下面的脚本演示了使用算术扩展来添加两个整数。

num1=2
num2=3
total=$(($num1 + $num2))
echo $total

运行脚本。

bash add_int.bash

该脚本产生以下输出。

5

在 Bash 中使用 bc 相加浮点数

bc 是 Bash Calculator 的缩写形式。它用于执行浮点算术运算。 -l 选项告诉 bc 使用预定义的数学例程。

num1=1.1
num2=1.4
echo $num1 + $num2 | bc -l

运行脚本。

bash add_float.sh

运行上面的脚本会产生以下输出。

2.5

在 Bash 中使用 awk 添加浮点数

下面的脚本也可用于使用 awk 命令添加两个浮点数并将输出打印到标准输出。变量 $1 的值是 1.5,变量 $2 的值是 3.3。

echo 1.5 3.3 | awk '{print $1 + $2}'

运行脚本。

bash add_float.sh

运行上述脚本会产生以下输出。

4.8
作者: Fumbani Banda
Fumbani Banda avatar Fumbani Banda avatar

Fumbani is a tech enthusiast. He enjoys writing on Linux and Python as well as contributing to open-source projects.

LinkedIn GitHub

相关文章 - Bash Math