linux shell之字符串的比较

1 字符串常用的比较

字符串相等

[[ $str1 == $str2 ]]

字符串不相等

[[ $str1 != $str2 ]]

字符串大小比较

[[ $str1 > $str2 ]]

字符串等于空

[[  -z $str2 ]]

字符串不等于空

[[  -n $str2 ]]

用test代替[]

if test $str1 == $str2



 
2 测试代码

    #/bin/bash
     
    str1="chenyu"
    str2=""
    str3="chenyu"
    str4="chengongyu"
     
     
    #判断字符串不等于空和等于空
    if [[ -n $str1 ]] && [[ -z $strw ]]
    then
        echo str1 is not null and str2 is null
    fi
     
     
    #判断字符串是否相等
    if [[ $str1 == $str3 ]]
    then
        echo str1 == str3
    else
        echo str1 != str3
    fi
     
     
    #判断字符串是否不相等
    if [[ $str1 != $str4 ]]
    then
        echo str1 != str4
    else
        echo str1 == str4
    fi
     
    #判断字符串大小
    if [[ $str1 > $str4 ]]
    then
        echo "str1 > str4"
    else
        echo "str1 < str4"
    fi
     
     
     
    #用test替换[]
    value=5
    if [ $value -eq 5 ]
    then
        echo value is 5
    else
        echo value is not 5
    fi
     
     
    if test $value -eq 5
    then
        echo value is 5
    else
        echo value is not 5
    fi
     
     
    if test $str1 != $str4
    then
        echo str1 != str4
    else
        echo str1 == str4
    fi



 
3 运行结果

    tr1 is not null and str2 is null
    str1 == str3
    str1 != str4
    str1 > str4
    value is 5
    value is 5
    str1 != str4

 

 

 

 
作者:chen.yu
深信服三年半工作经验,目前就职游戏厂商,希望能和大家交流和学习,
微信公众号:编程入门到秃头 或扫描下面二维码
零基础入门进阶人工智能(链接)