数值比较

数字比较使用 -eq 运算符和朋友

if [[ $num1 -eq $num2 ]]; then
  echo "$num1 == $num2"
fi
if [[ $num1 -le $num2 ]]; then
  echo "$num1 <= $num2"
fi

有六个数字运算符:

  • -eq 相等
  • -ne 不相等
  • -le 少于或等于
  • -lt 不到
  • -ge 大于或等于
  • -gt 大于

请注意,[[ … ]] 中的 <> 运算符比较字符串,而不是数字。

if [[ 9 -lt 10 ]]; then
  echo "9 is before 10 in numeric order"
fi
if [[ 9 > 10 ]]; then
  echo "9 is after 10 in lexicographic order"
fi

双方必须是以十进制(或八进制,前导零)写的数字。或者,使用 ((…)) 算术表达式语法,该语法以类似 C / Java / …的语法执行整数计算。

x=2
if ((2*x == 4)); then
  echo "2 times 2 is 4"
fi
((x += 1))
echo "2 plus 1 is $x"