如何在 Bash 中評估算術表示式?
Bash 是一種功能強大的程式語言,用於在 Linux 和其他基於 Unix 的系統上編寫 shell 指令碼。shell 指令碼中最常見的任務之一是評估算術表示式。在本文中,我們將討論如何在 Bash 中評估算術表示式並探討一些示例。
介紹
算術表示式是對數值執行的數學計算。在 Bash 中,算術表示式使用 expr 命令進行評估,該命令將字串評估為算術表示式並返回結果。expr 命令的語法如下:
$ expr expression
這裡,expression 是要評估的算術表示式。例如,要評估表示式 2 + 3,我們將輸入以下命令:
$ expr 2 + 3
這將返回結果 5。
基本算術運算子
Bash 支援所有基本算術運算子,包括加法、減法、乘法和除法。這些運算子可用於執行簡單的算術計算。下表顯示了基本算術運算子及其對應的符號。
運算子 |
符號 |
|---|---|
加法 |
+ |
減法 |
- |
乘法 |
* |
除法 |
/ |
讓我們看一些在 Bash 中使用這些基本算術運算子的示例。
示例 1:加法
要在 Bash 中執行加法,我們使用 + 符號。例如,要將 2 和 3 相加,我們將輸入以下命令:
$ expr 2 + 3
這將返回結果 5。
示例 2:減法
要在 Bash 中執行減法,我們使用 - 符號。例如,要從 5 中減去 3,我們將輸入以下命令:
$ expr 5 - 3
這將返回結果 2。
示例 3:乘法
要在 Bash 中執行乘法,我們使用 * 符號。例如,要將 2 和 3 相乘,我們將輸入以下命令:
$ expr 2 * 3
請注意,* 符號需要用反斜槓 () 進行轉義,以防止 shell 將其解釋為萬用字元字元。
這將返回結果 6。
示例 4:除法
要在 Bash 中執行除法,我們使用 / 符號。例如,要將 6 除以 2,我們將輸入以下命令:
$ expr 6 / 2
這將返回結果 3。
運算子優先順序
在 Bash 中評估算術表示式時,務必牢記算術運算子的優先順序。優先順序決定了運算子的評估順序。
基本算術運算子的優先順序順序如下:
乘法和除法(從左到右評估)
加法和減法(從左到右評估)
例如,在表示式 2 + 3 * 4 中,首先評估乘法,表示式被評估為 2 + 12,結果為 14。
讓我們看一些在 Bash 中使用優先順序的示例。
示例 5:乘法和除法
在表示式 2 + 4 / 2 * 3 中,首先評估除法,表示式被評估為 2 + 2 * 3,結果為 8。要將表示式評估為 (2 + 4) / (2 * 3),我們將使用括號對加法和乘法進行分組:
$ expr 2+42+4 / 2\*32\*3
這將返回結果 1。
示例 6:使用括號進行分組
要將表示式的部分組合在一起,我們可以使用括號。例如,在表示式 2 * 3 + 4 中,我們可以用括號將乘法括起來,以確保它首先被評估:
$ expr 2 * 3+43+4
這將返回結果 14。
取模運算子
除了基本算術運算子之外,Bash 還支援取模運算子 (%),它返回除法運算的餘數。例如,要計算 5 除以 2 的餘數,我們將輸入以下命令:
$ expr 5 % 2
這將返回結果 1。
讓我們看一個在 Bash 中使用取模運算子的示例。
示例 7:取模運算子
在表示式 17 % 4 + 3 * 2 中,首先評估取模運算,表示式被評估為 1 + 6,結果為 7。
$ expr 17 % 4 + 3 * 2
這將返回結果 7。
Bash 中的高階算術函式
Bash 還提供了一些可用於算術表示式的 高階算術函式。這些函式包括平方根、指數和絕對值。讓我們更詳細地瞭解每個函式。
平方根
要在 Bash 中計算數字的平方根,我們使用 sqrt 函式。例如,要計算 16 的平方根,我們將輸入以下命令:
$ expr sqrt 16
這將返回結果 4。
指數
要在 Bash 中將數字提高到冪,我們使用 ** 運算子。例如,要計算 2 的 3 次冪,我們將輸入以下命令:
$ expr 2 ** 3
這將返回結果 8。
絕對值
要在 Bash 中計算數字的絕對值,我們使用 abs 函式。例如,要計算 -5 的絕對值,我們將輸入以下命令:
$ expr abs -5
這將返回結果 5。
在算術表示式中使用變數
在 Bash 中,我們還可以在算術表示式中使用變數。我們可以使用 = 運算子為變數賦值,然後在算術表示式中使用變數。例如,要將值 5 賦給名為 x 的變數,我們將輸入以下命令:
$ x=5
然後,我們可以在算術表示式中使用該變數。例如,要將 2 加到 x 的值上,我們將輸入以下命令:
$ expr $x + 2
這將返回結果 7。
結論
評估算術表示式是 Bash 指令碼中的一項常見任務。透過使用 expr 命令和基本算術運算子,以及優先順序和取模運算子,我們可以在 Bash 中執行簡單的算術計算。透過本文中介紹的示例,您應該對如何在 Bash 中評估算術表示式以及如何在自己的指令碼中應用這些概念有一個很好的理解。
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP