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