一、整数

加减乘除



echo `expr 2 + 1`
echo `expr 2 - 1`
echo `expr 2 \* 1`
echo `expr 2 / 1`


比较



-eq  等于,如:if [ "$a" -eq "$b" ]   
-ne 不等于,如:if [ "$a" -ne "$b" ]
-gt 大于,如:if [ "$a" -gt "$b" ]
-ge 大于等于,如:if [ "$a" -ge "$b" ]
-lt 小于,如:if [ "$a" -lt "$b" ]
-le 小于等于,如:if [ "$a" -le "$b" ]
< 小于(需要双括号),如:(("$a" < "$b"))
<= 小于等于(需要双括号),如:(("$a" <= "$b"))
> 大于(需要双括号),如:(("$a" > "$b"))
>= 大于等于(需要双括号),如:(("$a" >= "$b"))


二、浮点数

使用awk或者bc计算

加减乘除



完整计算
echo "$a $b" | awk '{printf("%0.3f\n",$1+$2)}'
echo "$a $b" | awk '{printf("%0.3f\n",$1-$2)}'
echo "$a $b" | awk '{printf("%0.3f\n",$1×$2)}'
echo "$a $b" | awk '{printf("%0.3f\n",$1/$2)}'


精度丢失
echo "0.2+2.5"|bc
echo "0.2-2.5"|bc
echo "0.2*2.5"|bc --结果.5
echo "2.5/0.2"|bc --结果12


比较



if [ $(echo '5.2 > 2'|bc) = 1 ]
then
echo "test"
fi


差值比较



a=5.2
b=2
if [ `echo "$a - $b > 1"|bc` = 1 ]
then
echo "test greater"
fi

if [ `echo "$a - $b == 3.2"|bc` = 1 ]
then
echo "test equal"
fi