• shell-运算符


    1.算数运算符

    常见算数运算符号

    运算符 解释 例子
    + 求和 1+1=2
    - 求差 9-8=1
    * 求乘积 2*4=8
    / 求商 8/2=4
    % 取余 9%2=1
    ** 幂运算 3**3=27
    += 将左边的数加上右边,然后再将和给左边的变量 3+=5等于8
    -= 将左边的数减去右边,将差赋给左边的变量 6-=5等于1
    *= 将左边的数乘以右边,乘积赋给左边 7*=7等于49
    /= 将左边的数除以右边,商赋给左边 12/=3等于4
    %= 左边的数对右边的数求模后,赋给左边 15%=4等于3

    Linux Shell里有四种方式执行算数计算:
    1.1.let
    使用let命令,可以执行一个或多个算术表达方式,变量名无需使用$符号,如果表达式中有空格或者其他特殊字符,就得应用。
    例如:

      1.[root@centos8 learn]# x=10
      2.[root@centos8 learn]# let x=x-1
      3.[root@centos8 learn]# echo $x
      4.9
      5.[root@centos8 learn]# let x=x*10      
      6.[root@centos8 learn]# echo $x      #因为x的值已经在第二行被重新定义为9
      7.90
      8.[root@centos8 learn]# let x=x**2
      9.[root@centos8 learn]# echo $x      #这里是因为x在第六行又被重新定义为90了,[关于变量概念不熟悉,到](https://www.cnblogs.com/hxlinux/p/12914354.html)
      10.8100
    

    1.2.expr
    使用expr命令也可以计算表达式的值
    例如:

      #!/bin/bash
      formule=`expr 99 - 100`
      echo $formule
      formule=`expr 99 + 100`
      echo $formule
      formule=`expr 2 * 4`
      echo $formule
      formule=`expr 4 / 2`
      echo $formule
    

    输出结果为:

    1.3.使用$((...))
    写法比较自由,可以松散也可以紧凑。
    例如

      #!/bin/bash
      formult=$((1+1))
      echo "$formult"
      formult=$(( 9 - 7 ))
      echo "$formult"
      formult=$(( 9 * 9 ))
      echo "$formult"
      formult=$(( ( 2+1 ) * 6 ))
      echo "$formult"
    

    输出结果为:

    1.4.$[...]
    语法和$((...))类似

      #!/bin/bash
      formult=$[1+1]
      echo "$formult"
      formult=$[7*7]
      echo "$formult"
    

    运行结果:

    2.位运算符

    位运算一般在用在整数间,他针对的不是整个整数,而是其二进制形式下某个或某些位也就是比特(bit)。
    例如2>>1,表示将2的二进制(10)左移一位,变成100,也就是十进制的4

    运算符 说明 例子
    << 左移 4<<2,4向左移2位,也就是16
    >> 右移 8>>2,将8向右移动2位,结果为2
    & 按位与 8&&4,8和4进行按位与运算
    管道符 按位或 8管道符4,按位或计算,结果为12
    ~ 按位非 ~8,将8进行按位非计算,结果为-9
    ^ 按位异或 10^6,将10和6按二进制位异或运算,结果为12

    4<<2,就是把4转换成二进制(1000)后向左移动两位,得到100000转换成十进制就是16

    8>>2,就是把8转换成二进制(10000)后向右移动两位,得到100转换成十进制就是2

    用法和算数运算一样

      #!/bin/bash
      formult=$[ 8 >> 2 ]
      echo "$formult"
      formult=$[ 4 << 2 ]
      echo "$formult"
    

    3.自增/自减运算符

    运算符 说明
    ++x 前置自增
    --x 前置自减
    x++ 后置自增
    x-- 后置自减
      #!/bin/bash
      x=10
      x=$[ ++x ]
      echo $x
      x=$[ x+ (--x) ]
      echo $x
      x=$[ x-- ]
      echo $x
    

    输出结果:

  • 相关阅读:
    Linux下查看网卡驱动和版本信息
    HTML <!--...--> 标签
    linux物理网卡检测命令mii-tool
    Git错误non-fast-forward后的冲突解决
    ubuntu上解决访问github慢的方法
    右侧添加悬浮打赏功能
    VSCode 预览 .md 文件
    Matlab绘制三维曲面(以二维高斯函数为例)
    matlab的三维绘图和四维绘图
    ubuntu查看文件和文件夹大小
  • 原文地址:https://www.cnblogs.com/hxlinux/p/12939964.html
Copyright © 2020-2023  润新知