首頁 > 軟體

如何在Linux命令列中進行基本的數學運算

2020-06-16 16:41:18

Linux bash或命令列允許您執行基本和複雜的算術和布林運算。像expr,jot,bc和factor等命令可以幫助您找到複雜問題的最優數學解決方案。在本文中,我們將描述這些命令並提供範例,這些範例將作為您轉向更有用的數學解決方案的基礎。

我們在Ubuntu 18.04 LTS系統上執行了本文中提到的命令和過程。

我們使用Ubuntu命令列終端,以執行所有數學運算。您可以通過系統Dash或Ctrl + Alt + T快捷方式開啟終端。

expr命令

Linux中的expr或expression命令是用於執行數學計算的最常用命令。您可以使用此命令執行加法,減法,乘法,除法,遞增值等功能,甚至可以比較兩個值。在本節中,我們將描述執行上述計算的語法,並介紹如何使用expr命令在Ubuntu命令列中執行高效數學運算。

加法

您可以通過expr命令新增兩個或多個數位,如下所示:

$ expr number1 + number2

範例:

$ expr 100 + 90

減法

您可以通過expr命令對兩個或多個數位執行減法,如下所示:

$ expr number1 – number2

範例:

$ expr 100 - 27

乘法

您可以通過expr命令執行兩個或多個數位的乘法,如下所示:

$ expr number1 * number2

範例:

linuxidc@linuxidc:~/www.linuxidc.com$ expr 11 * 10

請注意,以下是Linux命令列中數位乘法的語法也可以。

linuxidc@linuxidc:~/www.linuxidc.com$ expr 11 * 10

除法

您可以通過expr命令將一個數位初一另一個數,如下所示:

$ expr number1 / number2

範例:

$ expr 110 / 10

增加變數

您可以通過首先定義Linux中的變數來增加它,如下所示:

$ count_variable=9

然後,使用以下表示式,使用expr命令執行增量操作:

$ count_variable=`expr $count_variable + 7`

現在,當您通過以下命令回顯該變數值時,它將列印最初定義的變數的遞增值。

$ echo $count_variable

比對

通過expr命令,您還可以檢查數位是否大於另一個數位。

$ expr number1 > number2

範例:

$ expr 16 > 11

結果值1表示第一個數位大於第二個數位。 而結果值0表示第一個數不大於第二個。

範例:

$ expr 11 > 26

通過expr命令,您還可以使用以下語法檢視兩個數位是否相等:

$ expr number1 = number2

範例s:

$ expr 19 = 19
$ expr 11 = 15

結果值1表示第一個數位等於第二個數位。

而結果值0表示兩個數位不相等。

在上面的例子中,我們可以很明顯看到兩個比較數位是否相等。

那麼這個操作怎麼有用呢?

讓我們假設在一個程式中,我們想知道一些數位的計算平均值是否等於10。

在這裡,我們可以充分利用expr命令將“average”變數的結果與10進行比較,並根據此結果執行進一步的操作。

$ average=20
$ expr $average = 20

高效地使用expr命令

讓我們舉一個expr命令實際上可以生效的例子。在這個例子中,我們將使用expr命令來計算當有20個孩子和158塊糖果時,一個孩子得到了多少糖果。該程式還將計算所有孩子得到相同數量的糖果後剩下的糖果數量。

linuxidc@linuxidc:~/www.linuxidc.com$ children=20
linuxidc@linuxidc:~/www.linuxidc.com$ sweets=158
linuxidc@linuxidc:~/www.linuxidc.com$ PerChildShare=`expr $sweets / $children`
linuxidc@linuxidc:~/www.linuxidc.com$ RemainingSweets=`expr $sweets - $children * $PerChildShare`
linuxidc@linuxidc:~/www.linuxidc.com$ echo $PerChildShare
7
linuxidc@linuxidc:~/www.linuxidc.com$ echo $RemainingSweets
18

輸出完美地顯示了每個孩子平均得到12塊,剩下2塊在罐子裡。

jot命令

Linux jot命令可幫助您根據您提供的值建立數位列表,作為起始編號和要在其後檢視的值的數量。

在本節中,我們將描述通過jot執行計算的語法,並介紹如何使用jot命令在Ubuntu命令列中執行高效數學運算。

您可能首先需要安裝Athena-jot才能在Ubuntu上使用jot命令。

輸入以下命令作為sudo,因為只有授權人員才能在Ubuntu上新增/刪除和設定軟體:

linuxidc@linuxidc:~/www.linuxidc.com$ sudo apt install athena-jot

系統可能會提示您使用Y/n選項確認繼續安裝。

請輸入Y然後按Enter鍵繼續,之後軟體將安裝在您的系統上。

在數位y之後列印x個數位

使用jot命令,您可以在數位y之後列印x個數值。請使用以下命令:

使用以下命令執行此操作:

$ jot x y

以下範例將為您解決問題:

$ jot 6 2

我們的範例輸出顯示數位2(y)後面的6(x)個值列表。

在數位y之後反轉列印x個數位,直到數位z

您還可以使用jot命令來反向列印數位y後面的x個值,以數位z結尾。

使用以下語法執行此操作:

$ jot x y z

以下的例子會讓你明白:

$ jot 5 10 1

我們的範例輸出反向顯示數位10(y)之前的5(x)值,直到列表達到數位1(z)。

高效地使用jot命令

讓我們給出一個範例,其中jot命令實際上是有效的。在本例中,我們將使用jot命令從第1天(y值)開始列印12月份的9天(x值)。

$ for i in `jot 9 1`; do echo December$i; done

這是輸出:

我們通過使用jot命令的輸出作為變數i的輸入值來使用for迴圈。

factor命令

從名稱可以清楚地看出,Linux中的factor命令用於計算我們提供數位的質因數。

語法:

$ factor number

範例:

在上面的範例中,您可以看到factor命令如何列印除23以外的給定數位的多個質因數,因為數位23除了它自己沒有其他質因數。

bc命令

在bash中執行複雜操作時,bc命令非常有用。 此命令還可以進行比較,處理布林值,計算平方根,正弦,餘弦和切線等。您需要做的就是將數學表示式傳遞給bc命令,如下所示:

$ echo “math_expression” | bc

然後輸出顯示數學表示式的結果。

範例:

$ echo "10+10/2-(2*3)" | bc

計算π

由於bc命令不會迴避精度,並且您想要輸入的字串非常簡單,您可以使用它來計算pi的值到您想要的小數點數。

在下面的範例中,我們通過指定一個縮小值來捨入十進位制來列印π的值。

$ echo "scale=3; 4*a(1)" | bc -l

由於是保留3位小數,圓周率的結果將被精確到小數點後三位。

echo "scale=11; 4*a(1)" | bc -l

由於是保留11位小數,圓周率的結果將被精確到小數點後11位。

執行Bash數學運算

您可以使用一組雙括號來執行簡單的bash數學運算。 您可以通過此技術在bash中執行算術運算和布林運算。

算術

可以在Linux bash中執行以下算術運算列表:

+, – 加、減
++, — 增量、減量
*, / , % 乘、除、餘數
** 指數的值

範例 1:

$ ((x=10))
$ (( e = e + 5 ))
$ echo $e

範例 2:

$ ((x=10))
$ ((x--))
$ echo $e

範例 3:

$ ((x=10))
$ ((x=x**2))
$ echo $e

布林和邏輯

bash數學還允許您在疑問括號內使用布林和邏輯表示式來執行數學計算。

例:

$ ((x=10)); ((y=5))

if (( x > y )); then echo $x; fi

此範例比較兩個變數,並僅在x大於y時輸出x的值。

通過本文中提供的命令語法和範例,您現在可以通過Linux bash執行基本的數學運算。 這將作為您執行更複雜操作的基礎,例如使用bash指令碼編寫程式。 此外,您還可以執行互動式數學,您可以從使用者輸入值,處理輸入,然後根據這些值輸出結果。


IT145.com E-mail:sddin#qq.com