SHELL编程(三)---------算术运算

shell脚本中通常使用expr和let进行整数运算,使用bc进行浮点数运算

expr:

  1. #!/bin/sh
  2. i=10
  3. j=20
  4. k=3
  5. # 执行算数运算
  6. echo "i:$i;j:$j;k:$k"
  7. res1=`expr $i + $j + $k`
  8. res2=`expr $j - $i - $k`
  9. res3=`expr $i \* $j \* $k`
  10. res4=`expr $i \* $j / $k`
  11. # 输出运算结果
  12. echo "i+j+k=$res1"
  13. echo "j-i-k=$res2"
  14. echo "i*j*k=$res3"
  15. echo "i*j/k=$res4"

expr中乘为\*;除法结果会去除小数部分

 

let:

  1. #!/bin/sh
  2. i=10
  3. j=20
  4. k=3
  5. # 执行算数运算
  6. let res1=$i+$j+$k
  7. let res2=$j-$i-$k
  8. let res3=$i*$j*$k
  9. let res4=$i*$j/$k
  10. # 输出运算结果
  11. echo "i+j+k=$res1"
  12. echo "j-i-k=$res2"
  13. echo "i*j*k=$res3"
  14. echo "i*j/k=$res4"

同样除法结果会去除小数部分

 

bc:

res5=`echo "scale=5;$i*$j/$k"|bc`

echo "bc:i*j/k=$res5"

 

scale限制小数点的位数, | 为管道,将算式通过管道发送给bc计算,再将结果赋值给res5

 

posted @ 2016-04-14 15:32  叫我大哥哥  阅读(200)  评论(0编辑  收藏  举报