>>247
現行のシェルだとそのままでうまくいく。
うまく行かないのはかなり古いBourne Shell。
ちなみにどのOSのshか教えて。

うまく行かないシェルの場合は、

[ X"$1" = X-a ]

とやって回避する。が、この回避方法はバッドノウハウなので、
もうobsoleteなはずなんだが、、