5種在Linux終端中進行算術運算的方法

2020-08-08 13:53:03
導讀 在本文中,我們將向您展示在Linux終端中進行算術運算的各種有用方法。 在本文結束時,您將學習在命令行中進行數學計算的基本不同實用方法。讓我們開始吧!

1.使用Bash Shell

在Linux CLI上進行基本數學運算的第一個也是最簡單的方法是使用雙括號。 以下是我們使用儲存在變數中的值的一些範例:

$ ADD=$(( 1 + 2 ))
$ echo $ADD
$ MUL=$(( $ADD * 5 ))
$ echo $MUL
$ SUB=$(( $MUL - 5 ))
$ echo $SUB
$ DIV=$(( $SUB / 2 ))
$ echo $DIV
$ MOD=$(( $DIV % 2 ))
$ echo $MOD

5种在Linux终端中进行算术运算的方法5种在Linux终端中进行算术运算的方法

Linux Bash Shell中的演算法

2.使用expr命令

expr命令計算表達式並將提供的表達式的值列印到標準輸出。 我們將研究使用expr進行簡單數學,進行比較,增加變數值和查詢字串長度的不同方法。以下是使用expr命令進行簡單計算的一些範例。 請注意,許多運算子需要對shell進行跳脫或參照,例如*運算子(我們將在表達式的比較下檢視更多)。

$ expr 3 + 5
$ expr 15 % 3
$ expr 5 \* 3
$ expr 5 – 3
$ expr 20 / 4

5种在Linux终端中进行算术运算的方法5种在Linux终端中进行算术运算的方法

在Linux中使用expr命令的基本演算法

接下來,我們將介紹如何進行比較。 當表達式求值爲false時,expr將列印值0,否則列印1。

我們來看一些例子:

$ expr 5 = 3
$ expr 5 = 5
$ expr 8 != 5
$ expr 8 \> 5
$ expr 8 \< 5
$ expr 8 \<= 5

5种在Linux终端中进行算术运算的方法5种在Linux终端中进行算术运算的方法

比較Linux中的算術表達式

您還可以使用expr命令增加變數的值。 看一下下面 下麪的例子(以同樣的方式,你也可以減少一個變數的值)。

$ NUM=$(( 1 + 2))
$ echo $NUM
$ NUM=$(expr $NUM + 2)
$ echo $NUM

5种在Linux终端中进行算术运算的方法5种在Linux终端中进行算术运算的方法

變數的增量值

讓我們看一下如何使用以下方法查詢字串的長度:

$ expr length "這裏是Linux公社 www.linuxidc.com"

5种在Linux终端中进行算术运算的方法5种在Linux终端中进行算术运算的方法

有關上述運算子含義的更多資訊,請參見expr手冊頁:

$ man expr

3.使用bc命令

bc(基本計算器)是一個命令列實用程式,它提供了您希望從簡單的科學或金融計算器中獲得的所有功能。 它對於進行浮點數學運算特別有用。如果未安裝bc命令,則可以使用以下命令安裝:

$ sudo apt install bc  #Debian/Ubuntu
$ sudo yum install bc  #RHEL/CentOS
$ sudo dnf install bc  #Fedora 22+

安裝後,您可以通過向其傳遞參數以互動模式或非互動方式執行它 - 我們將檢視這兩種情況。 要以互動方式執行它,請在命令提示字元下鍵入命令bc並開始進行一些數學運算,如圖所示。

$ bc

5种在Linux终端中进行算术运算的方法5种在Linux终端中进行算术运算的方法

以非互動模式啓動bc

下面 下麪的範例展示瞭如何在命令列上非互動式地使用bc。

$ echo '3+5' | bc
$ echo '15 % 2' | bc
$ echo '15 / 2' | bc
$ echo '(6 * 2) - 5' | bc

5种在Linux终端中进行算术运算的方法5种在Linux终端中进行算术运算的方法

-l標誌用於預設比例(小數點後的數位)到20,例如:

linuxidc@linuxidc:~/www.linuxidc.com$ echo '13/5' | bc
2
linuxidc@linuxidc:~/www.linuxidc.com$ echo '13/5' | bc -l
2.60000000000000000000

5种在Linux终端中进行算术运算的方法5种在Linux终端中进行算术运算的方法

用浮動數位做數學

4.使用Awk命令

Awk是GNU/Linux中最着名的文字處理程式之一。 它支援加法,減法,乘法,除法和模數運算子。 它對於進行浮點數學運算也很有用。您可以使用它來執行基本數學運算,如圖所示。

$ awk 'BEGIN { a = 6; b = 3; print "(a + b) = ", (a + b) }'
$ awk 'BEGIN { a = 6; b = 3; print "(a - b) = ", (a - b) }'
$ awk 'BEGIN { a = 6; b = 3; print "(a *  b) = ", (a * b) }'
$ awk 'BEGIN { a = 6; b = 3; print "(a / b) = ", (a / b) }'
$ awk 'BEGIN { a = 6; b = 3; print "(a % b) = ", (a % b) }'

5种在Linux终端中进行算术运算的方法5种在Linux终端中进行算术运算的方法

5.使用factor命令

factor命令用於將整數分解爲素數因子。 例如:

linuxidc@linuxidc:~/www.linuxidc.com$ factor 18
18: 2 3 3
linuxidc@linuxidc:~/www.linuxidc.com$ factor 133
133: 7 19
linuxidc@linuxidc:~/www.linuxidc.com$ factor 23
23: 23
linuxidc@linuxidc:~/www.linuxidc.com$ factor 200
200: 2 2 2 5 5

5种在Linux终端中进行算术运算的方法5种在Linux终端中进行算术运算的方法

原文來自:https://www.linuxprobe.com/five-methods-linux.html