• shell--[重要]字符串是否相等, 字符串是否为空


    一. 字符串是否相等.

    建议用
    if [[ "${str1}" == "${str2}" ]]

    if [ "${str1}" = "${str2}" ]

    注意: == left and right has space!
    str1=""
    str2=
    str3="hello"
    str4="world"
    
    # true if [[ "${str1}" == "${str2}" ]]; then echo "12 true" else echo "12 false" fi
    # false if [[ "${str1}" == "${str3}" ]]; then echo "13 true" else echo "13 false" fi
    # false if [[ "${str3}" == "${str4}" ]]; then echo "34 true" else echo "34 false" fi
    # false # str5未声明
    if [[ "${str3}" == "${str5}" ]]; then echo "35 true" else echo "35 false" fi

    单个[]也是正确的

    str1=""
    str2=
    str3="hello"
    str4="world"
    
    # true
    if [ "${str1}" = "${str2}" ]; then
        echo "12 true"
    else
        echo "12 false"
    fi
    
    # false
    if [ "${str1}" = "${str3}" ]; then
        echo "13 true"
    else
        echo "13 false"
    fi
    
    # false
    if [ "${str3}" = "${str4}" ]; then
        echo "34 true"
    else
        echo "34 false"
    fi
    
    # false
    # str5未声明
    if [ "${str3}" = "${str5}" ]; then
        echo "35 true"
    else
        echo "35 false"
    fi

    二. 字符串是否为空.

    建议用
    if [ "${str1}" == "" ]

    if [[ "${str1}" == "" ]]
    if [ "$str" =  "" ] 
    if [ x"$str" = x ]
    if [ -z "$str" ] (-n 为非空)
    注意:都要代双引号,否则有些命令会报错
    
    建议用:
    if [ "$str" =  "" ] 

    if [[ "${str1}" == "" ]]

    例子

    str1=""
    str2=
    str3="hello"
    str4="world"
    
    # 以下都输出empty
    # $str5不存在, 也是empty
    
    if [ "$str1" = "" ]; then
        echo "empty"
    fi
    
    if [ "$str2" = "" ]; then
        echo "empty"
    fi
    
    if [ "$str5" == "" ]; then
        echo "empty"
    fi
    
    if [ -z "$str5" ]; then
        echo "empty"
    fi
    
    if [[ $str5 == "" ]]; then
        echo "empty"
    fi
    
    if [[ "$str5" == "" ]]; then
        echo "empty"
    fi
    
    if [[ "$str1" == "" ]]; then
        echo "empty"
    fi
  • 相关阅读:
    字符串实现变量映射
    纯css实现无限嵌套菜单
    flex布局嵌套之高度自适应
    easy ui 零散技巧
    js高级应用
    前端利器
    css高级应用及问题记录(持续更新)
    兼容性验证方案
    原生js判断元素是否可见
    vue-cli webpack躺坑之旅
  • 原文地址:https://www.cnblogs.com/helloweworld/p/4161741.html
Copyright © 2020-2023  润新知