在 Bash 中做数字加法
Fumbani Banda
2023年1月30日
本教程展示了使用 expr
、算术扩展、bc
和 awk
在 bash 脚本中数字加法的不同方法。
在 Bash 中使用 expr
进行加法
expr
是一个命令行 Unix 实用程序,用于计算给定表达式并将值打印到标准输出。expr
可以计算整数或字符串表达式,包括模式匹配和正则表达式。expr
使用下面的语法。
$expr expression
要使用 expr
在 bash 脚本中相加两个整数,请使用以下任一语法。第一种语法使用引号,而第二种语法使用括号并以美元符号开头。
total=`expr $num1 + $num2`
total=$(expr $num1 + $num2)
请注意,=
符号前后没有空格。给变量赋值时没有空格是内置的 bash 语法。
让我们编写一个 bash 脚本,使用带引号的 expr
将两个数字相加。两个整数 2
和 3
分别分配给变量 num1
和 num2
。两个变量之和被赋值给 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