# !/bin/bash ## 整数-算数运算 ### 1. expr r=`expr 4 + 5` ### Tips:1. '4''+''5'三者之间有空白 echo $r; r=`expr 4 \* 5` echo $r; ### Tips:2. *有特殊意义,应该用\取消*的特殊意义 ### 2. $(()) r=$((4+5)) echo $r ### 3. $[] r=$[4+5] echo $r ### 4. let 命令 let r=4+5 echo $r ### 加减乘除 ### 乘法 r=`expr 4 \* 5` echo $r r=$((4*5)) echo $r r=$[4*5] echo $r let r=4*5 echo $r n=10 r=`expr $n \* 5` echo $r; r=$(($n*5)) echo $r; r=$[$n*5] echo $r; let r=n*5; echo $r; ### 除法 r=`expr 40 / 5` echo $r; r=$((40/5)) echo $r; r=$[40/5] echo $r; let r=40/5 echo $r ### 减法 r=`expr 40 - 5` echo $r; r=$((40-5)) echo $r; r=$[40-5] echo $r; let r=40-5 echo $r; ### 模运算 r=$[100%43] echo $r r=$((100%43)) echo $r; r=`expr 100 % 43` echo $r; ### 幂运算 ### expr没有乘幂 r=$((2**3)) echo $r; r=$[2**3] echo $r; let r=2**3 echo $r; ## 浮点数-算数运算 ### bash shell自己不具有浮点计算的能力,可使用bc或者awk来处理 ### variable=$(echo "[选项];操做" | bc [选项]) http://www.runoob.com/linux/linux-comm-bc.html ### scale表示输出中小数点后的精度 a=3 b=2 c=$(echo "scale=2; $a/$b" | bc) echo $c ### ibase和obase表示输入和输出数据的进制 echo "ibase=2;111"|bc echo "obase=2;192"|bc ### bc 将二进制转换为十进制,ibase必须在后面,不然无效 abc=11000000 echo "obase=10;ibase=2;$abc"|bc ### bc计算平方和平方根 echo "2^10"|bc echo "sqrt(100)"|bc ### 浮点数比较 if [ $(echo "1.5 > 1"|bc) -eq 1 ] then echo "true" fi