• 搜索
  • 夜间模式
    ©2015-2025  Ethan's Blog Theme by OneBlog
    搜索
    标签
    # Amule # Gargoyle # LUCI # VIM # Python # Nginx # 反代 # Ansible # Apache # LNMP
  • 首页>
  • SHELL脚本攻略笔记>
  • 正文
  • shell数学运算

    2018年07月09日 28 阅读 0 评论 997 字

    基本的算数操作,使用let、(())、[]和expr、bc进行

    let简单用法

    no1=1;
    no2=2;
    let sum=no1+no2
    echo $sum
    3

    let自加自减操作:

    let no++ 或者 let no+=6(自加6,等同let no=no+6)
    let no-- 或者 let no-=6(自减6,等同let no=no-6)

    []用法

    no=$[ no1 + no2]

    []中也可以使用$

    no=$[ $no1 + 5 ]

    (())用法

    no=$(( no1 + no2 ))

    需要注意的是使用(())必须要在变量之前加上$

    expr用法

    no='expr 3 + 4'
    no=$(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
    scale=2;将精度设置为2个小数点

    进制转换

    十进制转二进制

    no=100
    echo "obase=2;$no" | bc
    1100100

    二进制转十进制

    no=1100100
    echo "obase=10;ibase=2;$no" | bc
    100

    计算平方以及平方根

    echo "sqrt(100)" | bc #Square root #计算平方根
    echo "10^10" | bc #Square  #计算平方
    本文著作权归作者 [ Ethan ] 享有,未经作者书面授权,禁止转载,封面图片来源于 [ 互联网 ] ,本文仅供个人学习、研究和欣赏使用。如有异议,请联系博主及时处理。
    — END —
    Copyright©2015-2025  All Rights Reserved.  Load:0.006 s
    Theme by OneBlog V3.6.3
    夜间模式

    开源不易,请尊重作者版权,保留基本的版权信息。