在本主題中,我們將了解如何在Bash中使用算術運算符。
根據我們希望通過腳本得到什麼樣的結果,我們可能不得不在某些時候使用算術運算符。和變量一樣,它們也相當容易使用。在bash腳本中,我們將對數值執行算術運算,以催促指定的結果。
Bash Shell支持11個算術運算符。
下麵的表格演示了每個算術運算符的語法、描述和示例:
- 添加(+)
- 減(-)
- 乘法(*)
- 部門(/)
- 求冪(* *)
- 模(%)
- 增加常數(+=)
- 減去常數(-+)
- 乘以常數(*=)
- 除以常數(/=)
- 除以常數(%=)的餘數
這些操作符的使用將通過腳本展示,以便您能夠很好地理解並在自己的代碼中使用它們。
有許多方法可以在bash shell腳本上執行算術操作。下麵給出了一些選擇,我們將采用它們來執行算術運算:
雙括號
雙括號是在Bash shell腳本中執行基本算術操作的最簡單方法。我們將使用帶有或不帶有數字1 $的雙括號來使用此方法。
語法
(表達式)示例:
# !/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)) echo "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 echo "除x 5, x=" ((x /= 5)) echo $x echo "除x 5的餘數,x=" ((x %= 5)) echo $x
下麵是上麵程序的輸出。
讓建築
在bash中,我們有一個內置的命令來使用或執行算術操作。
語法:
讓<算術表達式>
下麵是let命令的例子:
# !/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 let "x *=5" echo "x乘以5,那麼x=" echo $x let "x /= 5" echo "x除以5,x=" echo $x let "x %= 5" echo "x除以5的餘數,x=" echo $x
上麵程序的輸出:
引號的
在bash腳本中,還可以使用反撇號和expr(稱為通用表達式求值器)執行算術展開。“expr”類似於“let”,但它不會將結果保存到變量中。它直接打印結果。與let不同,我們不必將表達式括在引號內。我們被要求在表達式的事物之間使用空格。需要注意的是,我們應該始終在命令替換中使用'expr '來將大量輸出保存到變量中。
我們也可以用不帶反撇號的expr。
語法
' expr item1操作符item2 '
或
Expr item1操作符item2
下麵是Backticks的例子,
# !/bin/bash #使用expr echo "c是加法的值c=a+b" a=45 b=54 echo $a echo $b echo "c= ' expr $a + $b ' "
以上命令的輸出,