zoukankan      html  css  js  c++  java
  • 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
    

    输出结果:

  • 相关阅读:
    论大型信息系统项目的范围管理
    算法分析与设计——回溯法实验报告
    算法分析与设计——贪心法实验报告
    算法分析与设计——动态规划法实验报告
    算法分析与设计——分治法实验报告
    机器学习与数据挖掘期末考试复习重点整理
    软件项目文档——Responsibility Assignment Matrix
    软件项目文档——Stakeholder Register
    在Eclipse中显示空格(space)和制表符(tab)
    Eclipse 每行 80 字符限制的提示线
  • 原文地址:https://www.cnblogs.com/hxlinux/p/12939964.html
Copyright © 2011-2022 走看看