Linux 管理员 - 基本数学运算

Bash 使用加、减、乘、除等常用运算符进行整数运算。

+ 加法
- 减法
* 乘法
/ 除法
% 模数
<< 增量
-- 减量

进行数学运算时,必须使用以下格式$((数学公式))

注意 − 使用 $() BASH 时,它将执行一个命令。echo $(ls) 会将 ls 的输出打印到终端。添加额外的 nest () 将让 BASH 知道要执行的数学运算。

在下面的代码中,我们使用预增量运算符在打印到终端时进行增量。

#!/bin/bash  
for i in `seq 0 10`; 
   do 
   echo $((++i)) 
done

以下是输出。

1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11

更多基本数学运算 −

#!/bin/bash 
echo $((2+1)) 
echo $((2-1)) 
echo $((2*1)) 
echo $((2/1)) 
echo $((2%1))

以下是输出。

3 
1 
2 
2
0

在 BASH 中对整数执行数学运算非常简单。开发人员只需记住整数运算始终在 $(() 中执行,告诉 BASH 这是数学运算。

对于浮点数,我们要使用 bc 命令 −

#!/bin/bash
echo 1.1+2.3 | bc

以下是输出。

3.4

bc 可能非常复杂,但同时也是一个非常强大的命令行计算器。

这是 bc 的手册页 −

bc 是一种支持任意精度数字并可交互式执行语句的语言。其语法与 C 编程语言有一些相似之处。命令行选项提供标准数学库。如果需要,数学库将在处理任何文件之前定义。bc 首先按列出的顺序处理命令行上列出的所有文件的代码。处理完所有文件后,bc 将从标准输入读取。整个代码在读取时执行。(如果文件包含停止处理器的命令,bc 将永远不会从标准输入读取。)

此版本的 bc 包含几个扩展,超出了传统的 bc 实现和 POSIX 草案标准。命令行选项可能导致这些扩展打印警告或被拒绝。本文档描述了此处理器接受的语言。扩展将被标识为此类。

请记住,使用 bc 最适合浮点运算,并且 shell 可以处理整数数学。您需要将操作数传递给 bc。最后,scale参数指定解决方案的精度。

#!/bin/bash
echo 'scale = 3; 1.19*2.3' | bc -q

以下将是输出。

2.737