コマンドがシェル スクリプトから任意の POSIX システムに存在するかどうかを確認できるようにしたいと考えています。
Linux では、次のことができます。
if which <command>; then
...snip...
fi
ただし、Solaris と MacOSwhich
は、コマンドが存在しない場合に終了エラー コードを表示せず、エラー メッセージを STDOUT に出力するだけです。
また、which
コマンド自体が POSIX ではないことを最近発見しました ( http://pubs.opengroup.org/onlinepubs/9699919799/idx/utilities.htmlを参照) 。
何か案は?