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
廣告