• Shell脚本编程之基本运算符


    1.算数运算符:原生bash不支持简单的数学运算,但是可以通过其他的命令实现,例如awk和expr,expr最常用

    expr是一款表达式计算工具,使用它能完成表达式的求值操作

    例如:

    val=`expr 2 + 2`
    echo "两数之和为 :$val"

    两点注意:

    **表达式和运算符之间要有空格,例如2+2是不对的,必须写成2 + 2,这与我们熟悉的大多数编程语言不一样

    **完整的表达式要被``包含,这不是单引号,而是反引号

     

    2.算数运算符实例:

    a=10
    b=20
    
    val=`expr $a + $b`
    echo "a+b:$val"
    
    val=`expr $a - $b`
    echo "a-b:$val"
    
    val=`expr $a * $b`
    echo "a*b :$val"
    
    val=`expr $b / $a`
    echo "b / a:$val"
    
    val=`expr $b % $a`
    echo "b % a:$val"
    
    if [ $a == $b ]
    then
      echo "a=b"
    fi
    if [ $a != $b ]
    then
       echo "a!=b"
    fi
    

     运行结果:

    • 乘号(*)前边必须加反斜杠()才能实现乘法运算;
    • if...then...fi 是条件语句,后续将会讲解。

    3.关系运算符:关系运算符只支持数字,不支持字符串,除非字符串的值是数字

     

    4.关系运算符实例:

    a=10
    b=20
    if [ $a -eq $b ]
    then
       echo "$a -eq $b:a=b"
    else
       echo "$a -eq $b:a!=b"
    fi
    
    if [ $a -ne $b ]
    then
       echo "$a -ne $b:a!=b"
    else
       echo "$a -ne $b:a=b"
    fi
    
    if [ $a -gt $b ]
    then
      echo "$a -gt $b:a>b"
    else
      echo "$a -gt $b:a!>b"
    fi
    
    if [ $a -lt $b ]
    then
     echo "$a -lt $b:a<b"
    else
     echo "$a -lt $b:a!<b"
    fi
    
    if [ $a -ge $b ]
    then
      echo "$a -ge $b:a>or=b"
    else
      echo "$a -ge $b:a<b"
    fi
    
    if [ $a -le $b ]
    then
      echo "$a -le $b:a <or= b"
    else
      echo "$a -le $b:a>b"
    fi

    运行结果:

    5.布尔运算符:

     关系运算符实例:

    a=10
    b=20
    
    if [ $a != $b ]
    then
     echo "$a !=$b:a != b"
    else
     echo "$a !=$b:a = b"
    fi
    
    if [ $a -lt 100 -a $b -gt 15 ]
    then
     echo "$a 小于 100 且 $b 大于 15 : 返回 true"
    else
     echo "$a 小于 100 且 $b 大于 15 : 返回 false"
    fi
    
    if [ $a -lt 100 -o $b -gt 100 ]
    then
     echo "$a 小于 100 或 $b 大于 100 : 返回 true"
    else
     echo "$a 小于 100 或 $b 大于 100 : 返回 false"
    fi
    
    if [ $a -lt 5 -o $b -gt 100 ]
    then
     echo "$a 小于 5 或 $b 大于 100 : 返回 true"
    else
     echo "$a 小于 5 或 $b 大于 100 : 返回 false"
    fi

    运行结果:

  • 相关阅读:
    C语言中链接影响程序的细节
    Object类的方法
    基于误差反向传播法的神经网络学习的全貌图
    Attention Scaling for Crowd Counting
    plt画图
    机器学习相关技巧
    数值微分
    Noip2017 Day2 T1 奶酪
    串(string)
    八皇后问题
  • 原文地址:https://www.cnblogs.com/hqutcy/p/8631295.html
Copyright © 2020-2023  润新知