在Linux終端中進(jìn)行算術(shù)運(yùn)算的5種方法
在本文中,我們將向您展示在Linux終端中進(jìn)行算術(shù)運(yùn)算的各種有用方法。 在本文結(jié)束時(shí),您將學(xué)習(xí)在命令行中進(jìn)行數(shù)學(xué)計(jì)算的基本不同實(shí)用方法。
讓我們開始吧!
1.使用Bash Shell
在Linux CLI上進(jìn)行基本數(shù)學(xué)運(yùn)算的***個(gè)也是最簡單的方法是使用雙括號(hào)。 以下是我們使用存儲(chǔ)在變量中的值的一些示例:
- $ 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
Linux Bash Shell中的算法
2.使用expr命令
expr命令計(jì)算表達(dá)式并將提供的表達(dá)式的值打印到標(biāo)準(zhǔn)輸出。 我們將研究使用expr進(jìn)行簡單數(shù)學(xué),進(jìn)行比較,增加變量值和查找字符串長度的不同方法。
以下是使用expr命令進(jìn)行簡單計(jì)算的一些示例。 請注意,許多運(yùn)算符需要對shell進(jìn)行轉(zhuǎn)義或引用,例如*運(yùn)算符(我們將在表達(dá)式的比較下查看更多)。
- $ expr 3 + 5
- $ expr 15 % 3
- $ expr 5 \* 3
- $ expr 5 – 3
- $ expr 20 / 4
在Linux中使用expr命令的基本算法
接下來,我們將介紹如何進(jìn)行比較。 當(dāng)表達(dá)式求值為false時(shí),expr將打印值0,否則打印1。
我們來看一些例子:
- $ expr 5 = 3
- $ expr 5 = 5
- $ expr 8 != 5
- $ expr 8 \> 5
- $ expr 8 \< 5
- $ expr 8 \<= 5
比較Linux中的算術(shù)表達(dá)式
您還可以使用expr命令增加變量的值。 看一下下面的例子(以同樣的方式,你也可以減少一個(gè)變量的值)。
- $ NUM=$(( 1 + 2))
- $ echo $NUM
- $ NUM=$(expr $NUM + 2)
- $ echo $NUM
變量的增量值
讓我們看一下如何使用以下方法查找字符串的長度:
$ expr length "這里是Linux公社 www.linuxidc.com"
有關(guān)上述運(yùn)算符含義的更多信息,請參見expr手冊頁:
- $ man expr
3.使用bc命令
bc(基本計(jì)算器)是一個(gè)命令行實(shí)用程序,它提供了您希望從簡單的科學(xué)或金融計(jì)算器中獲得的所有功能。 它對于進(jìn)行浮點(diǎn)數(shù)學(xué)運(yùn)算特別有用。
如果未安裝bc命令,則可以使用以下命令安裝:
- $ sudo apt install bc #Debian/Ubuntu
- $ sudo yum install bc #RHEL/CentOS
- $ sudo dnf install bc #Fedora 22+
安裝后,您可以通過向其傳遞參數(shù)以交互模式或非交互方式運(yùn)行它 - 我們將查看這兩種情況。 要以交互方式運(yùn)行它,請?jiān)诿钐崾痉骆I入命令bc并開始進(jìn)行一些數(shù)學(xué)運(yùn)算,如圖所示。
- $ bc
以非交互模式啟動(dòng)bc
下面的示例展示了如何在命令行上非交互式地使用bc。
- $ echo '3+5' | bc
- $ echo '15 % 2' | bc
- $ echo '15 / 2' | bc
- $ echo '(6 * 2) - 5' | bc
-l標(biāo)志用于默認(rèn)比例(小數(shù)點(diǎn)后的數(shù)字)到20,例如:
- linuxidc@linuxidc:~/www.linuxidc.com$ echo '13/5' | bc
- linuxidc@linuxidc:~/www.linuxidc.com$ echo '13/5' | bc -l
- 2.60000000000000000000
用浮動(dòng)數(shù)字做數(shù)學(xué)
4.使用Awk命令
Awk是GNU/Linux中最著名的文本處理程序之一。 它支持加法,減法,乘法,除法和模數(shù)運(yùn)算符。 它對于進(jìn)行浮點(diǎn)數(shù)學(xué)運(yùn)算也很有用。
您可以使用它來執(zhí)行基本數(shù)學(xué)運(yùn)算,如圖所示。
- $ 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.使用factor命令
factor命令用于將整數(shù)分解為素?cái)?shù)因子。 例如:
- 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
