shell中字符串的比较

A=” 1 B = 2”

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

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

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

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

如果 a a ( ) t r u e i f [ [ A” == a* ]];then
echo “[[ ==a* ]]”
fi

如果 a a ( ) , t r u e i f [ [ A” == “a*” ]];then
echo “==/”a*/””
fi

如果 a a ( ) , t r u e i f [ A” == “a*” ];then
echo “==/”a*/””
fi

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

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

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

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

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

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

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

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

猜你喜欢

转载自blog.csdn.net/w849593893/article/details/82458433