使用shell進行數學運算
- let命令可以直接執行基本的算術操作
let result=no1+no2
echo $result
自加操作$ let no1++
自減操作$ let no1--
簡寫let no+=6 let no-=6
操作符[]的使用方法和let命令一樣:
result=$[ no1 + no2 ]
在[]中也可以使用$前綴,例如:
result=$[ $no1 + 5 ] 也可以使用操作符(())。出現在(())中的變量名之前需要加上$:
result=$(( no1 + 50 )) 9 expr同樣可以用於基本算術操作:
result=`expr 3 + 4`
result=$(expr $no1 + 5)
以上這些方法不支持浮點數,只能用於整數運算
- bc是一個用於數學運算的高級實用工具
echo "4 * 0.56" | bc
2.24
no=54;
result=`echo "$no * 1.5" | bc`
echo $result
結果:81.0 bc可以接受操作控制前綴。這些前綴之間使用分號分隔。
3. 設定小數精度。在下面的例子中,參數scale=2將小數位個數設置爲2。因此,bc將 會輸出包含兩個小數位的數值:
echo "scale=2;22/7" | bc
結果:3.14
4.進制轉換。用bc可以將一種進制系統轉換爲另一種。來看看下面的代碼是如何在十進 制與二進制之間相互轉換的
#!/bin/bash
用途:數字轉換
no=100
echo "obase=2;$no" | bc
1100100
no=1100100
echo "obase=10;ibase=2;$no" | bc
結果:100
5.計算平方以及平方根。
echo "sqrt(100)" | bc #Square root
echo "10^10" | bc #Square