shell学习笔记之四——运算符



  • 运算符

    bash不支持运算,要使用该其他命令如awk和expr

    val=`expr 2 + 2`
    #注意表达式和运算符之间加空格
    #注意是反引号
    

    关系运算符

    • -eq 检测两个数是否相等,相等返回true
    • -ne 检测不相等
    • -gt 检测左大于右
    • -lt 检测左小于右
    • -ge 检测左大于等于右
    • -le 检测左小于等于右
    a=10
    b=20
    
    if [ aeqa -eq b ]
    then
       echo "aeqa -eq b : a 等于 b"
    else
       echo "aeqa -eq b: a 不等于 b"
    fi
    if [ anea -ne b ]
    then
       echo "anea -ne b: a 不等于 b"
    else
       echo "anea -ne b : a 等于 b"
    fi
    #
    #也可以[ a!=a != b ]
    #
    if [ agta -gt b ]
    then
       echo "agta -gt b: a 大于 b"
    else
       echo "agta -gt b: a 不大于 b"
    fi
    if [ alta -lt b ]
    then
       echo "alta -lt b: a 小于 b"
    else
       echo "alta -lt b: a 不小于 b"
    fi
    if [ agea -ge b ]
    then
       echo "agea -ge b: a 大于或等于 b"
    else
       echo "agea -ge b: a 小于 b"
    fi
    if [ alea -le b ]
    then
       echo "alea -le b: a 小于或等于 b"
    else
       echo "alea -le b: a 大于 b"
    fi
    

    布尔运算符

    • ! 非
    • -o 或
    • -a 与
    a=10
    b=20
    
    if [ a!=a != b ]         #可以使用if [ ! aeqa -eq b ]
    then
       echo "a!=a != b : a 不等于 b"
    else
       echo "a!=a != b: a 等于 b"
    fi
    if [ alt100aa -lt 100 -a b -gt 15 ]
    then
       echo "$a 小于 100 且 $b 大于 15 : 返回 true"
    else
       echo "$a 小于 100 且 $b 大于 15 : 返回 false"
    fi
    if [ alt100oa -lt 100 -o b -gt 100 ]
    then
       echo "$a 小于 100 或 $b 大于 100 : 返回 true"
    else
       echo "$a 小于 100 或 $b 大于 100 : 返回 false"
    fi
    if [ alt5oa -lt 5 -o b -gt 100 ]
    then
       echo "$a 小于 5 或 $b 大于 100 : 返回 true"
    else
       echo "$a 小于 5 或 $b 大于 100 : 返回 false"
    fi
    

    逻辑运算符

    • && 逻辑与
    • || 逻辑或
    a=10
    b=20
    
    if [[ $a -lt 100 && $b -gt 100 ]]
    then
       echo "返回 true"
    else
       echo "返回 false"
    fi
    
    if [[ alt100a -lt 100 || b -gt 100 ]]
    then
       echo "返回 true"
    else
       echo "返回 false"
    fi
    

    字符串运算符和文件运算符

    它们分别可以检测字符串的相等和各类属性以及文件的属性(读/写/执行/目录)

    这里不赘述,需要的时候查找


 

Copyright © 2018 bbs.dian.org.cn All rights reserved.

与 Dian 的连接断开,我们正在尝试重连,请耐心等待