數值比較

數字比較使用 -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"