shell波及数字计算的理论场景感觉绝对较少,更多场景是关系运算。bash也不提供数字计算能力,须要通过expr实现。这里简略记录expr罕用数字计算形式,其余篇幅具体记录关系运算。

数字计算

expr 是表达式计算工具,用于实现表达式的求值操作。

a=1b=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 [[]]