はじめに この記事は type, command, which 等を用途で使い分けたい人のための記事です。関連がある hash、whence、where や紛らわしい whereis、whatis、what についても解説しています。これらのコマンドは、コマンドの存在チェックでよく使われますが、本来の用途というものがあるわけでその違いと実際のシェルでの実装の注意点を解説しています。速度に関しては「Bashでコマンドの存在チェックはwhichよりhashの方が良いかも→いやtypeが最強→command -vも」ですでに記事があるので特に調べませんが、個人的には「シェルビルトインコマンドの方が速い」という考え方だけで十分だと思っています。 補足 この記事の Bourne シェル とは Solaris 10 の /bin/sh のことです。その他の(商用)UNIX の Bourne シェルでは