# !/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