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

安全劍客發表於2020-07-16
在本文中,我們將向您展示在 終端中進行算術運算的各種有用方法。 在本文結束時,您將學習在 行中進行數學計算的基本不同實用方法。讓我們開始吧!
1.使用Bash 

在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公社 

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:~/| bc
2
linuxidc@linuxidc:~/| 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:~/
18: 2 3 3
linuxidc@linuxidc:~/
133: 7 19
linuxidc@linuxidc:~/
23: 23
linuxidc@linuxidc:~/
200: 2 2 2 5 5

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

原文地址:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31559985/viewspace-2704917/,如需轉載,請註明出處,否則將追究法律責任。

相關文章