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