質問: 'aaa' ``` でも一致しているかを評価できるという説明が見当たりません。 試してみると一致しているか評価できているので、 使えると思うのですが、何か推奨されていない理由があるのでしょうか?
回答: オイラんちにある HP-UX 11.11 の `/bin/sh` 上では ``` $ test a = a && echo yes yes $ test a == a && echo yes sh: ==: A test parameter is not valid. ``` となりました。一方でその HP-UX 11.11 上の bash 4.3.30 では `test a == a` は動作します。 `bash-4.3.30/test.c` にも `bash-4.3.30/doc/bash.info` にも `==` は `=` と同様文字列の等値比較であると書かれています。 POSIX 適合性を取るなら `=` を使え、とありますね。 `==` は `bash` の拡張機能でしょう。 `bash` は他にも拡張機能があるので POSIX 適合性優先なら注意する必要がありそうです。 シェルスクリプトのcase文の評価について教えてください。