算術在Bash中

如何將計算添加到Bash腳本

雖然Bash是一種腳本語言,但它具有幾乎所有通用編程語言的功能。 這包括算術函數。 您可以使用多種語法選項來調用表達式的算術評估。 也許最可讀的是let命令。 例如

讓“m = 4 * 1024”

將計算4次1024並將結果賦值給變量“m”。

您可以通過添加echo語句來打印結果:

讓“m = 4 * 1024”echo $ m

您可以通過輸入以下代碼從命令行對此進行測試:

讓“m = 4 * 1024”; 迴聲$ m

您也可以創建一個包含Bash命令的文件,在這種情況下,您應該在文件頂部添加一行,用於指定應該執行代碼的程序。 例如:

#!/ bin / bash讓“m = 4 * 1024”echo $ m

假設Bash可執行文件位於/ bin / bash中 。 您還需要設置腳本文件的權限,以便它可執行。 假設腳本文件名是script1.sh ,您可以設置權限以使用該命令使文件可執行:

chmod 777 script1.sh

之後,您可以使用以下命令執行它:

./script1.sh

可用的算術運算與標準編程語言(如Java和C)中的算術運算類似。除了乘法之外,如上所示,還可以使用加法:

讓“m = a + 7”

或減法:

讓“m = a - 7”

或師:

讓“m = a / 2”

或模(整數除法後的餘數):

讓“m = a%100”

將操作應用於分配結果的相同變量時,可以使用標準算術速記賦值運算符(也稱為複合賦值運算符)。 例如,為了增加,我們有:

讓“m + = 15”

相當於“m = m + 15”。 對於減法我們有:

讓“m - = 3”

相當於“m = m - 3”。 對於部門我們有:

讓“m / = 5”

相當於“m = m / 5”。 對於模數,我們有:

讓“m%= 10”

相當於“m = m%10”。

另外,您可以使用增量減量運算符:

讓“m ++”

相當於“m = m + 1”。 和

讓“m--”

相當於“m = m - 1”。

然後有三個“問號 - 冒號”運算符,根據指定的條件是真還是假,返回兩個值中的一個。 例如

讓“k =(m <9)→0:1”

如果變量“m”小於9,則此賦值語句的右側計算為“0”。否則,其計算結果為1.這意味著如果“m”較小,變量“k”被賦值為“0”否則為9和“1”。

問號 - 冒號運算符的一般形式是:

條件? value-if-true:value-if-false

Bash中的浮點運算

let運算符僅用於整數運算。 對於浮點運算,您可以使用例如本例中所示的GNU bc計算器:

迴聲“32.0 + 1.4”| 公元前

“管道”操作符“|” 將算術表達式“32.0 + 1.4”傳遞給bc計算器,它返回實數。 echo命令將結果輸出到標準輸出。

算術的替代語法

可以使用反引號(後面的單引號)來評估算術表達式,如下例所示:

echo`expr $ m + 18`

這會將變量“m”的值加18,然後打印出結果。

要將計算值分配給變量,可以使用等號而不在其周圍:

m =`expr $ m + 18`

評估算術表達式的另一種方法是使用雙括號。 例如:

((m * = 4))

這會使變量“m”的值增加四倍。

除了算術評估外,Bash shell還提供了其他編程結構,例如for循環while循環條件函數以及子例程