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

    运行结果:

  • 相关阅读:
    关于软件设计中遇到的问题
    关于power shell
    如果TChart的发生异常
    重温gof版《设计模式》中的创建型模式
    如何更好的使用cvs
    存储过程返回临时表的问题
    关于bugzilla与svn结合的配置注意事项
    VC知识点:如何用vc6调试CGI程序
    如何让应用程序托盘化
    符号表
  • 原文地址:https://www.cnblogs.com/hqutcy/p/8631295.html
Copyright © 2011-2022 走看看