shell指令碼程式設計學習筆記-運算子

夢夢她爹 發表於 2022-06-27

shell涉及數字計算的實際場景感覺相對較少,更多場景是關係運算。bash也不提供數字計算能力,需要通過expr實現。這裡簡單記錄expr常用數字計算方式,其餘篇幅詳細記錄關係運算。

數字計算

expr 是表示式計算工具,用於完成表示式的求值操作。

a=1
b=2
# ``操作符用於執行內部的表示式並返回執行結果
sum=`expr ${a} + ${b}`

# $()操作符與``功能一樣。實際場景中推薦只使用其中一種。
diff=$(expr ${b} - ${a})

# mac中 expr 可以使用 $(()) 代替
diff=$((${b} - ${a}))

expr常用運算子:加(+),減(-),乘(*),除(/),取餘(%)。其中 * 為保留字,使用時需要轉譯:expr 2 /* 2

關係運算

shell中使用較多的場景之一就是if-else判斷。shell提供了幾種形式

if test
if []
if [[]]