zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    O(n^2)的排序方法
    99乘法表
    excel 转 csv
    批量关闭 excel
    tomcat 加入服务
    文件打包 zip
    字符串转换
    List数组种删除数据
    mybatis 批量上传
    sql server 查询表字段及类型
  • 原文地址:https://www.cnblogs.com/helloweworld/p/4161741.html
Copyright © 2011-2022 走看看