• Shell学习——数值运算


    在Bash shell中,可以利用let、(( ))、[]执行基本的算术操作,在高级操作时,使用expr和bc两个工具
    1、let
    [root@client02 ~]# no1=4
    [root@client02 ~]# no2=5
    [root@client02 ~]# let result=no1+no2
    [root@client02 ~]# echo $result
    9
    [root@client02 ~]# let no1++
    [root@client02 ~]# echo $no1
    5
    [root@client02 ~]# let no1+=3
    [root@client02 ~]# echo $no1
    8
    [root@client02 ~]#
    2、[]方法
    [root@client02 ~]# reslut=$[ no1 + no2 ]
    [root@client02 ~]# echo $reslut
    13
    [root@client02 ~]# reslut=$[ no1 + 2 ]
    [root@client02 ~]# echo $reslut
    10
    [root@client02 ~]#
    3、(())方法
    [root@client02 ~]# result=$((no1 + 6))
    [root@client02 ~]# echo $no1
    [root@client02 ~]# 1
    1
    [root@client02 ~]# echo $result
    7
    [root@client02 ~]#
    4、expr方法
    [root@client02 ~]# result=`expr 3 + 4`
    [root@client02 ~]# echo $result
    7
    [root@client02 ~]# result=`expr $no1 + 4`
    [root@client02 ~]# echo $result
    5
    [root@client02 ~]#
    5、bc可以执行浮点操作以及一些高级函数,通过stdin传递给bc,其他参数可以置于要执行的具体操作之前,同时以分号作为界定符
    [root@client02 ~]# echo "4.5*3" | bc
    13.5
    [root@client02 ~]# no=2
    [root@client02 ~]# result=`echo "$no * 3.3" | bc`
    [root@client02 ~]# echo $result
    6.6
    [root@client02 ~]#
    设置小数精度
    [root@client02 ~]# echo "scale=2;8/3" | bc
    2.66
    [root@client02 ~]#
    进制转换
    [root@client02 ~]# no=100
    [root@client02 ~]# echo "obase=2;$no"|bc
    1100100
    [root@client02 ~]# no=10001010
    [root@client02 ~]# echo "obase=10;ibase=2;$no"|bc
    138
    [root@client02 ~]# no=123AB
    [root@client02 ~]# echo "obase=10;ibase=16;$no"|bc
    74667
    [root@client02 ~]#
    计算平方和平方根
    [root@client02 ~]# echo "sqrt(100)"|bc
    10
    [root@client02 ~]# echo "3^3"|bc
    27
    [root@client02 ~]#

  • 相关阅读:
    性能测试学习笔记目录
    关于多项式的一些东西
    几道有意思的积性函数题
    关于min_25筛的一些理解
    【清华集训2014】主旋律
    清北冬令营训练计划
    # HNOI2012 ~ HNOI2018 题解
    贪心(qwq)习题题解
    导数与积分总结
    仙人掌 && 圆方树 && 虚树 总结
  • 原文地址:https://www.cnblogs.com/pigwan7/p/9629303.html
Copyright © 2020-2023  润新知