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