在這個主題中,我們將了解如何在Bash中使用算術運算符。
根據什麼樣的結果我們想通過我們的腳本,我們可能不得不使用算術運算符。像變量,它們相當容易使用。在bash腳本,我們將執行算術運算數值敦促指定的結果。
有11個算術運算符支持的Bash Shell。
看後續表展示了語法、算術運算符的描述和為每一個例子:
- 添加(+)
- 減(-)
- 乘法(*)
- 部門(/)
- 求冪(* *)
- 模(%)
- 通過不斷增加(+ =)
- 衰減常數(+)
- 乘以常數(* =)
- 除以常數(/ =)
- 的剩餘部分除以常數(% =)
使用這些操作符將使用一個腳本,以便您可以理解好,也在自己的代碼中使用它們。
有很多方法可以在bash shell腳本執行算術運算。下麵給出一係列的選擇,我們將采用執行算術運算:
雙括號
雙括號是最簡單的方法在Bash shell腳本執行基本的算術運算。我們將使用這個方法通過使用雙括號有或沒有一個美元。
語法
(表達)
示例:
# !/bin/bash #在這個腳本中,我們將學習不同的方法在我們的腳本中使用雙括號# 1路回波”方法1”= $((8 + 8))和回聲”和美元和“# 2的方式與方法2”((sum1 = 12 + 23))回聲“sum1 sum1美元”# 3日和4日的方式隻是一個改變的變體1號和2號方法#在這個我們隻使用兩個變量,並將它們添加#我們看到其工作# 3路回波”方法3”var1 = 23 var2 = 45 Sum3 = $ ((var1 + var2))回聲“varsum = $ Sum3”# 4日回聲“4”var3 = 65 var4 = 65 ((Sum2 = var3 + var4))回聲“varsum3 = $ Sum2”
對於給定的代碼將輸出是:
這裏是我們的另一個腳本執行所有的算術運算
# !/bin/bash x = 54 y = 35回聲“x = 8, y = 2”呼應”的x和y " echo $ ((x + y)美元)回聲“x和y的減法”echo $ ((x - y)美元)回聲“x和y的乘法”echo $ (($ x * $ y))回聲“x, y分工”echo $ ((x / y)美元)回聲“乘方的x, y”echo $ (($ x * * $ y))回聲“模塊化分工x, y”echo $ (($ x % $ y))回聲”遞增5 x, x = " ((x + = 5)) echo $ x回聲“遞減x 5,那麼x = " ((x - = 5)) echo $ x回聲“x乘以5,那麼x = " ((x * = 5)) echo $ x回聲“x = x除以5日”((x / = 5)) echo $ x回聲“x除以5的餘數,x = " ((x % = 5)) echo $ x
下麵是上述程序的輸出。
讓建築
在bash中我們有一個以構建方式/命令來使用或執行算術運算。
語法:
讓<算術表達式>
這是讓命令的例子,
# !/bin/bash x = 65 y = 8 z = 0回聲“加法”讓“z = $ ((x + y))“回聲“z = $ z”與“減法”讓“z = $ ((x, y)“回聲“z = $ z”與“乘法”讓“z = $ ((x * y))“回聲“z = $ z”與“師”讓“z = $ ((x / y))“回聲“z = $ z”與“求冪”讓“z = $ ((x * * y))“回聲“z = $ z”與“模塊化分工”讓“z = $ ((x % y))“回聲”z = $ z“讓“x + = 5”呼應“遞增5 x, x = " echo $ x讓“x - = 5”呼應“遞減x 5,那麼x = " echo $ x讓“x * = 5”呼應“x乘以5,那麼x = " echo $ x讓“x / = 5”呼應“x除以5,x = " echo $ x讓“x % = 5”呼應“x除以5的餘數,x = " echo $ x
上述程序的輸出:
引號的
在bash腳本,一個算術擴張也可以執行使用引號和expr(稱為通用表達式求值程序)。“expr”類似於“讓”,但它沒有將結果保存到一個變量。它直接打印結果。不像我們,我們不需要附上引號內的表達式。我們需要使用表達式的事物之間的空間。重要的是要注意,我們應該始終使用“expr”命令替換內大量的輸出保存到變量中。
我們還可以使用“expr”沒有“引號”。
語法
“第二條expr item1運營商”
或
expr item1運營商第二條
這是引號的例子,
# !/bin/bash #基本算術使用expr回聲”之外的值是c = a + b”= 45 b = 54回聲回聲b美元與“c = expr a + b美元”
上麵的命令的輸出,