shell腳本中的小數運算


  shell腳本中直接進行小數的加減乘除操作,會報錯integer expression expected。

       可以用2種方式解決,借助bc計算器,但是容器方式運行時,容器中可能沒有安裝bc,就需要引入bc,重新制作鏡像。

       也可以用第2種方式awk。

 

a=3.2  
b=1.5  
c=`echo "scale=3;$a + $b"|bc` 

  scale=3;表示小數的位數為3位

c=`awk -v x=2.45 -v y=3.123 'BEGIN{printf "%.2f\n",x*y}'`

      %.2f表示小數的位數為2位

 

        整數的運算

n1=`expr $x + $y`
n2=`expr $x  - $y`
n3=`expr $x \* $y`  #使用expr時 符號* 需要轉義
n4=`expr $x / $y`
n5=`expr $x % $y`

        ((n1=$x+$y))  等價於 n1=`expr $x + $y`

((n1=$x+$y)) 
((n2=$x-$y)) 
((n3=$x*$y)) 
((n4=$x/$y)) 
((n5=$x%$y)) 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM