shell中字符串的比较

本文详细介绍了Shell脚本中字符串的比较、匹配及特殊字符处理的方法。包括如何使用不同的语法进行字符串相等、不等的判断,以及如何进行模式匹配。

A=”1B=1”B=”2”

echo “输入的原始值:A=A,B=A,B=B”

判断字符串是否相等
if [ “A"="A"="B” ];then
echo “[ = ]”
fi

判断字符串是否相等,与上面的=等价
if [ “A"=="A"=="B” ];then
echo “[ == ]”
fi

注意:==的功能在[[]]和[]中的行为是不同的,如下

如果aa()trueif[[a以”a”开头(模式匹配)那么将为trueif[[“A” == a* ]];then
echo “[[ ==a* ]]”
fi

如果aa(),trueif[[a等于a∗(字符匹配),那么结果为trueif[[“A” == “a*” ]];then
echo “==/”a*/””
fi

如果aa(),trueif[a等于a∗(字符匹配),那么结果为trueif[“A” == “a*” ];then
echo “==/”a*/””
fi

字符串不相等
if [ “A"!="A"!="B” ];then
echo “[ != ]”
fi

字符串不相等
if [[ “A"!="A"!="B” ]];then
echo “[[ != ]]”
fi

字符串不为空,长度不为0
if [ -n “$A” ];then
echo “[ -n ]”
fi

字符串为空.就是长度为0.
if [ -z “$A” ];then
echo “[ -z ]”
fi

需要转义<,否则认为是一个重定向符号
if [ A/<A/<B ];then
echo “[ < ]”
fi

if [[ A<A<B ]];then
echo “[[ < ]]”
fi

需要转义>,否则认为是一个重定向符号
if [ A/>A/>B ];then
echo “[ > ]”
fi

if [[ A>A>B ]];then
echo “[[ > ]]”
fi

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值