Skip to main content

如何在脚本中使用“bc”计算器

#2:命令行 | Linux 新手课程 (六月 2025)

#2:命令行 | Linux 新手课程 (六月 2025)
Anonim

Linux程序bc可以用作方便的桌面计算器或数学脚本语言。它就像打电话一样容易 公元前 通过终端命令。

除了bc实用程序之外,Bash shell还提供了一些其他方法来执行算术运算。

注意: bc程序也称为基本计算器或工作台计算器。

BC命令语法

bc命令的语法类似于C编程语言,支持各种运算符,如加法,减法,加号或减号等。

这些是bc命令可用的各种开关:

  • -h, - help:打印此用法并退出。
  • -i, - interactive:强制交互模式。
  • -l, - mallib:使用预定义的数学例程。
  • -q, - quiet:不打印初始横幅。
  • -s, - standard:非标准bc结构是错误。
  • -w, - warn:警告非标准的bc结构。
  • -v, - version:打印版本信息并退出。

有关如何使用基本计算器的更多详细信息,请参阅此bc命令手册。

bc命令示例

只需输入即可在终端中使用基本计算器 公元前之后你可以输入这样的常规数学表达式:

4+3

…得到这样的结果:

7

重复执行一系列计算时,将bc计算器用作脚本的一部分是有意义的。这种脚本的最简单形式看起来像这样:

#!/斌/庆典echo'6.5 / 2.7'|公元前

第一行只是运行此脚本的可执行文件的路径。

第二行包含两个命令。 echo命令生成一个字符串,其中包含单引号中包含的数学表达式(在此示例中,6.5除以2.7)。管道运算符(|)将此字符串作为参数传递给bc程序。然后,bc程序的输出显示在命令行上。

要执行此脚本,请打开终端窗口并导航到脚本所在的目录。我们假设调用了脚本文件 bc_script.sh 。使用chmod命令确保文件可执行:

chmod 755 bc_script.sh

然后你会输入:

./bc_script.sh

结果如下:

2

为了显示3个小数位,因为真正的答案是2.407407 …,请在由单引号分隔的字符串中使用scale语句:

#!/斌/庆典echo'scale = 3; 6.5 / 2.7'|公元前

为了更好的可读性,可以在多行上重写带有计算的行。为了将命令行分成多行,您可以在行尾添加反斜杠:

echo'scale = 3; var1 = 6.5 / 2.7;var1'|公元前

要在bc计算中包含命令行参数,必须将单引号更改为双引号,以便命令行参数符号由Bash shell解释:

echo“scale = 3; var1 = 6.5 / 2.7;var2 = 14 * var1;var2 * = $ 1;var2“|公元前

使用变量“$ 1”访问第一个命令行参数,第二个参数使用“$ 2”等。

现在,您可以在单独的Bash脚本中编写自己的自定义算术函数,并从其他脚本调用它们。

例如,如果script1包含:

#!/斌/庆典echo“scale = 3; var1 = 6.5 / 2.7;var2 = 14 * var1;var2 * = $ 1;var2“|公元前

…和script2包含

#!/斌/庆典 var0 = “100”echo“var0:$ var0”功能fun1echo“scale = 3; var1 = 10;var2 = var1 * $ var0;var2“FRES = $(FUN1)回声“fres:”$ fresvar10 = $(./ script1 $ fres);echo“var10:”$ var10;

…然后执行script2将使用在script2中计算的变量$ fres作为参数来调用script1。