zoukankan      html  css  js  c++  java
  • shell脚本学习总结06--数学计算

    在bash中可利用let,(())和[]执行基本的操作,高级操作将会使用expr和bc

    运算符:+,—,*,/,**(幂)

    (())

    [root@Director ~]# ((c=2**3-9%2));echo $c 
    7

    [root@Director ~]# c=$((2**3-9%2));echo $c #c放在外面则需要加$
    7
    [root@Director ~]# if ((2>1));then echo ok;fi
    ok

    [root@Director ~]# a=5

    [root@Director ~]# echo $((a>6))         #为假的时,布尔值为0
    0
    [root@Director ~]# echo $((a<6))         #为真的时,布尔值为1
    1

    [root@Director ~]# echo $((a++))
    5
    [root@Director ~]# echo $a
    6

    [root@Director ~]# echo $((++a))
    7
    [root@Director ~]# echo $a
    7


    带变量的运算的写法:

    [root@Director ~]# a=1
    [root@Director ~]# b=2
    [root@Director ~]# c=$(($a+$b));echo $c
    3


    let,等同于(()),但效率低
    # let result=x+y
    自加操作
    # let x++
    自减操作
    # let x--
    简写形式
    # let x+=6     --> let x=x+6
    #let x-=6      --> let x=x-6


    []
    # y=$[ 2 + 1]
    # y=$[ $x + 1]

     


    expr
    [root@wls12c ~]$ expr 3 + 4
    7
    y=$(expr $a + 4)


    bc
     # echo "3.1 + 3.2" | bc
    设置结果小数的位数,scale
     # echo "scale=2;1/3" |bc
    .33


    十进制转换成二进制,obase
    $ echo "obase=2;8" |bc
    1000

    二进制-->十进制
    $ echo "obase=10;ibase=2;1000" |bc
    8

    平方和平方根
    [root@wls12c ~]$ echo "10^10"|bc
    10000000000
    [root@wls12c ~]$ echo "sqrt(100)"|bc
    10

  • 相关阅读:
    MySQL(一)
    HTML基础
    python函数基础
    常用的模块
    面向对象进阶
    定制自己的数据类型
    Shell篇之AWK
    MATLAB如何实现傅里叶变换FFT?有何物理意义?
    傅里叶分析
    2018年度关键词
  • 原文地址:https://www.cnblogs.com/zydev/p/5745250.html
Copyright © 2011-2022 走看看