unary operator expectedの履歴

型がよくわからない変数を比較している、というときにでるメッセージ
http://fluidx.exblog.jp/8405336/

if [ $1 = "-i" ]; then
  echo "hoge"
fi


""で囲むといける。

if [ "$1" = "-i" ]; then
  echo "hoge"
fi


Macだとこのエラーはでなかったけど、Centだと出た。シェルのバージョンが違うのかな?