当前位置:   article > 正文

linux下字符串的比较方式

liunx两个变量a=50、b=3,比较两个数的大小然后输出最小值
A= "$1"
B= "$2"
  
#判断字符串是否相等
if [ "$A" = "$B" ]; then
echo "[ = ]"
fi
  
#判断字符串是否相等,与上面的=等价
if [ "$A" == "$B" ]; then
echo "[ == ]"
fi
  
#注意:==的功能在[[]]和[]中的行为是不同的,如下
  
#如果$a以”a”开头(模式匹配)那么将为true 
if [[ "$A" == a* ]]; then
echo "[[ ==a* ]]"
fi
  
#如果$a等于a*(字符匹配),那么结果为true
if [[ "$A" == "a*" ]]; then
echo "==/" a*/ ""
fi
  
  
#File globbing(通配) 和word splitting将会发生, 此时的a*会自动匹配到对应的当前以a开头的文件
#如在当前的目录中有个文件:add_crontab.sh,则下面会输出ok
#if [ "add_crontab.sh" == a* ];then 
#echo "ok"
#fi
if [ "$A" == a* ]; then
echo "[ ==a* ]"
fi
  
#如果$a等于a*(字符匹配),那么结果为true
if [ "$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

转载于:https://www.cnblogs.com/xingyunfashi/p/7643672.html

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/323944
推荐阅读
相关标签
  

闽ICP备14008679号