shell中字符串比较和模糊比较说明

shell字符串比较说明

1 完全比较方法(完全匹配)

if [ "$soure" == "$dest" ]; then

    echo "is =="

else

    echo "is !="

fi

if语句中的==判断字符串是否相等:

    1、使用完全匹配方式;

    2、两边的双引号都是可有可无的,但当字符串为空的时候就会报错,提示unary operator expected,因此,需要加入双引号;

    3、也可以使用=号,但==更合适一些,防止误解,避免误认为是在进行赋值操作。


2 模糊比较方法(正则表达式)

if [[ "$soure" == dest* ]]; then

    echo "is =="

else

    echo "is !="

fi

当if语句中的单中括号[]变成双中括号[[]]时,支持模糊匹配,此时:

    1、模糊匹配规则不能添加双引号,否则无效,会被当做普通字符串进行比较。

    2、被比较的字符串,可以加双引号,也可以不加,当字符串为空也不会报错,但是为了统一规范,防止遗漏,因此,推荐还是加入双引号。


猜你喜欢

转载自blog.51cto.com/dangzhiqiang/2440010