如何將計算添加到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-falseBash中的浮點運算
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循環 , 條件和函數以及子例程 。