Linux下Shell脚本中比较大小

strongmore / 2023-08-13 / 原文

数字比较

  • -eq 等于,如: if [ "$a" -eq "$b" ]
  • -ne 不等于,如: if [ "$a" -ne "$b" ]
  • -gt 大于,如: if [ "$a" -gt "$b" ]
  • -ge 大于等于,如: if [ "$a" -ge "$b" ]
  • -lt 小于,如: if [ "$a" -lt "$b" ]
  • -le 小于等于,如: if [ "$a" -le "$b" ]
  • 大于(需要双括号),如: if(("$a" > "$b"))
  • 大于等于(需要双括号),如: (("$a" >= "$b"))

字符串比较

  1. 判断字符串是否相等,一般我们 [] 用 = ,[[ ]]用 ==, 这样理解统一
  2. 判断字符串大小时 只能用[]
#判断字符串是否相等
if [ "$A" = "$B" ]
then
    echo "[ = ]"
fi
#字符串不相等
if [ "$A" != "$B" ]
then
    echo "[ != ]"
fi
#判断字符串是否相等,与上面的=等价, 可以使用,但是个人不建议用, 一般我们 [] 用 = ,[[ ]]用 ==, 这样理解统一,
if [ "$A" == "$B" ]
then
    echo "[ == ]"
fi

shell比较大小