zoukankan      html  css  js  c++  java
  • bash中的数值运算

    第一种,使用((表达式)):

    a=3
    ((b=a+2))
    echo $b

    第二种使用let:

    let "c=$a+4"
    echo $c 

    第三种,使用expr表达式(注意空格不能少):

    #注意空格和反引号
    d=`expr 4 + 3`
    echo $d

    第四种,比较常用,就是放在$[ expression]中,其实这才是bash的推荐的标准处理方法

    a=4
    b=$[$a-9]
    #b=-5
    echo $b

    在C风格的for循环中,则可以如下使用:

    #!/bin/bash
    for (( a=1, b=10; a<=10; a++, b-- ))
    do
        ((c=a*b))
        echo $c
    done
    

    一般bash只能处理整数运算,要处理浮点书,必须借助于bc(bash计算器),基本格式如下:

    variable=`echo "option;expression"|bc`

    注意上面的反引号(一般位于tab建的上方,感叹号!的左边),不是单引号。

    例如要计算3.25/3,精确到小数点后4位:

    var=`echo "scale=4;3.25/3"|bc`
    #var=1.0833
    echo $var 


    再看一个例子:

    a=10.5
    b=2.7
    c=`echo "scale=5;$a /$b "|bc`
    #c=3.88888
    echo $c

    如果需要计算的浮点表达式比较多,可以放在多行上,格式如下:

    variable=`bc << EOF
    options
    statements
    expressions
    EOF
    `

    下面是一个实际例子:

    #!/bin/bash
    a=1.23432
    b=2.45
    c=6.0
    d=5
    #注意:
    #var=ab+cd,ab和cd只是bc中的变量,不能在bash中使用
    var=`bc << EOF
    scale=4
    ab=($a+$b)
    cd=($c-$d)
    ab+cd
    EOF
    `
    #var=4.68342
    echo $var


  • 相关阅读:
    vue-cli之加载ico文件
    arcgisJs之featureLayer中feature的获取
    浏览器兼容设置
    global.css
    sass之mixin的全局引入(vue3.0)
    arcgis之隐藏设置放大缩小按钮
    vue之scoped穿透
    关闭google默认打开翻译提醒
    ...args剩余参数用法
    js之向div contenteditable光标位置添加字符
  • 原文地址:https://www.cnblogs.com/dyllove98/p/3235421.html
Copyright © 2011-2022 走看看