1.5 使用shell进行数学运算

《Linux Shell 脚本攻略(第 2 版)》读书笔记

可以利用 let、(( )) 和 [ ] 执行基本的算术操作。用 expr 和 bc 执行高级操作。

基本算术操作

  1. let 命令

    当使用 let 时,变量名之前不需要再添加 $

    let result=no1+no2
    echo $result
    
    • 自加操作

      $ let no1++ # ++no1 也可以
      
    • 自减操作

      $ let no1-- # --no1 也可以
      
    • 简写形式

      let no+=6
      let no-=6
      
  2. [ ]

    result=$[ no1 + no2 ]
    result=$[ $no1 + 6 ]
    
  3. (( ))

    result=$(( no1 + 50 ))
    
  4. 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
  • 设定小数精度

    echo "scale=2;3/8" | bc
    0.37  #我这里输出是 .37
    
  • 进制转换

    no=100
    echo "obase=2;$no" | bc
    1100100   #输出
    
    no=1100100
    echo "obase=10;ibase=2;$no" | bc
    100   #输出
    
  • 计算平方以及平方根

    echo "sqrt(100)" | bc
    echo "10^10" | bc
    

你可能感兴趣的:(1.5 使用shell进行数学运算)