Linux管理员 - 基本数学运算



Bash 使用常见的加法、减法、乘法和除法运算符进行整数运算。

+ 加法
- 减法
* 乘法
/ 除法
% 取模
<< 自增
-- 自减

执行数学运算时,需要使用$((数学公式))的格式

注意 − 使用$() BASH时,它将执行命令。echo $(ls) 将打印 ls 的输出到终端。添加额外的嵌套 () 将让 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
广告