如何在腳本中使用“bc”計算器

Linux程序bc可以用作方便的桌面計算器或數學腳本語言。 這和通過終端調用bc 命令一樣簡單。

除了bc實用程序外,Bash shell還提供了一些用於執行算術運算的其他方法。

注意: bc程序也被稱為基本計算器或長凳計算器。

bc命令語法

bc命令的語法類似於C編程語言,支持各種運算符,如加法,減法,加或減等。

這些是bc命令可用的各種交換機:

有關如何使用基本計算器的更多詳細信息,請參閱本bc命令手冊。

bc命令示例

只需輸入bc即可在終端中使用基本計算器,之後您可以鍵入常規數學表達式,如下所示:

4 + 3

...得到這樣的結果:

7

重複執行一系列計算時,將bc計算器用作腳本的一部分是有意義的。 這種腳本的最簡單形式如下所示:

#!/ bin / bash 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 ...,請在由單引號分隔的字符串內使用縮放語句:

#!/ bin / bash 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包含:

#!/ bin / bash echo“scale = 3; var1 = 6.5 / 2.7; var2 = 14 * var1; var2 * = $ 1; var2”\ | 公元前

...和script2包含

#!/ bin / bash var0 =“100”echo“var0:$ var0”fun1 {echo“scale = 3; var1 = 10; var2 = var1 * $ var0; var2”\ | bc} fres = $(fun1)echo“fres:”$ fres var10 = $(./ script1 $ fres); 迴聲“var10:”$ var10;

...然後執行script2將使用腳本2中計算的變量$ fres作為參數調用script1。