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 [[]]