在 Linux 和 Bash 脚本中使用 bc 命令
bc命令用于精度计算。您更有可能在 bash 脚本中使用它进行浮点运算。
Linux中的bc命令用于数学计算。这不仅仅是一个命令;这是一种语言。但您可能会将其用作浮点数学运算的命令。
是的。与其他编程语言不同,bash 没有浮点变量选项。
除了浮点运算之外,您还可以在终端中使用它进行算术运算。
在本教程中,我将介绍使用 bc 命令的两种方法:在 bash 脚本中和在终端窗口中。
如何在Linux中使用bc命令
要使用 bc 命令,您必须遵循给定的命令语法:
bc [options] [file]这里,
[options]用于更改 bc 命令的默认行为。[file]是附加文件以根据文件内的数据执行计算的位置。
[options] 和 [file] 都是可选的,这意味着您可以在不使用任何这些的情况下使用 bc 命令。
要在终端中使用 bc 命令,您只需执行 bc 命令,它将打开一个提示符,您可以在其中键入算术运算:
正如你所看到的,它可以轻松地进行小数运算。
要退出,您可以键入并执行 quit 或按 Ctrl + D。
现在,让我们看一些例子。
1. 处理小数
正如我在开头提到的,当输出有小数时使用 bc 命令,但默认情况下,它不会显示任何小数。
现在,有两种管理小数的方法:
使用
-l标志执行 bc 命令(简单)使用
scale选项(提供灵活性)
让我们从第一个开始。
将 bc 命令与 -l 一起使用
当您使用 -l 标志执行 bc 命令时,它会加载数学库,使您能够使用所有高级计算函数。
如果您愿意,可以执行以下操作:
bc -l使用此方法的唯一缺点是每次执行除法时都会显示大约 20 位小数占位符。
使用缩放选项
这是另一种使用 scale 并指定所需小数占位符数量的方法。
例如,如果我将 9 除以 2,那么答案应该是 4.5,所以我必须有一个小数占位符。所以我将使用 scale=1:
如您所见,使用和不使用 scale 选项时输出有何不同。
2. 不带bc提示进行计算
或者,您可以在不使用 bc 提示符的情况下获得类似的输出。
为此,您可以使用scale选项编写任何算术运算来决定应该有多少位小数并将其通过管道传递给bc命令:
echo "scale=no_of_decimals; arithmatic_operation_here" | bc例如,在这里,我想将 15 除以二,所以我必须有一位小数,然后,我将使用 scale=1 并将其通过管道传递给 bc 命令:
echo "scale=1; 15/2" | bc3. 通过 bc 命令使用变量
bc 命令中变量的使用非常简单。您所要做的就是执行 bc 命令,分配一些变量,然后对变量进行算术运算。
首先,执行 bc 命令:
bc然后给变量赋值。例如这里,我将 2 分配给 a,将 3 分配给 b:
a=2
b=3之后,您可以执行任何您想要的算术运算。例如,在这里,我做了添加:
a+b4.通过bc命令使用数学库
使用数学库,您可以找出三角函数、对数等的值。
首先,使用 -l 标志启动 bc 来加载数学库
bc -l假设您想找出 sin 0 的值,那么您可以使用以下命令:
s(0)您可以对所有三角函数执行相同的操作。
如果您想找出日志值,请使用以下语法:
l(number)以下是如何通过 bc 命令使用数学库的示例:
5.在bash脚本中使用bc命令进行浮点运算
在 bash 脚本中使用 bc 命令与我在如何使用不带 bc 提示符部分的 bc 命令中所解释的几乎相同。
简而言之,您使用存储 scale 选项(如果有)和算术运算输出的变量:
variable=$(echo "scale=no; arithmetic_operation" | bc)例如,在这里,我创建了一个简单的 bash 脚本,要求用户输入两个数字进行除法,然后使用带有 scale=3 的 bc 命令来处理浮点值:
#!/bin/bash
read -p "Enter the first number: " num1
read -p "Enter the second number: " num2
result=$(echo "scale=3; $num1 / $num2" | bc)
echo "Output: $result"
如果您想使用上述脚本,请确保使用 chmod 命令使其可执行。
执行时,您可以预期出现以下行为:
6.使用bc命令使用文件
这是一种非常方便的计算操作的方法,因为您只需将操作写入文件一次即可无限次使用。
首先,使用 touch 命令创建一个文件。我建议创建一个扩展名为 .bc 的文件,这样您就可以更好地了解里面的内容。
touch calculation.bc现在,您可以使用任何您喜欢的文本编辑器进行更改。在这里,我将使用 Nano 文本编辑器:
nano calculation.bc在这里,我将进行简单的算术运算,但您可以根据您的需要进行更改:
x = 10
y = 3
x / y完成后,保存更改并退出 Nano 文本编辑器。
现在,您所要做的就是将输入从文件重定向到 bc 命令:
bc -l < calculation.bc我使用 -l 标志的唯一原因是我没有在文件中使用 scale 选项,但如果使用了,则可以避免使用 -l 标志:
或者,您可以通过将输出定向到文件来保存输出:
bc -l < calculation.bc > Result.txt有关 bash 的更多信息
如果有兴趣,请查看有关在 bash 脚本中使用数学计算的教程。
有关 bash 中特殊变量的更多信息。
我希望本指南对您有所帮助。








