Command 組込みコマンドはコマンドを実行します。またコマンドの種類を特定します。
command [-bBp] コマンド [引数…]
command -vV [-bBp] コマンド…
-v (--identify) オプションならびに -V (--verbose-identify) オプションを付けずに実行すると、command コマンドは与えられたコマンドを与えられた引数で実行します。コマンドの実行の仕方は単純コマンドの実行の最後のステップに準じますが、コマンドの検索では関数は無視します。またコマンドが特殊組込みコマンドの場合、コマンドのオプションやオペランドの使い方が間違っていたりリダイレクトエラーや代入エラーが起きたりしてもシェルは終了しません。
-v (--identify) オプションまたは -V (--verbose-identify) オプションを付けて実行すると、command コマンドは与えられたコマンドの種類とパスを特定しそれを標準出力に出力します。コマンドはエイリアスや関数であっても構いません。
-v (--identify) オプションを付けて実行したときの出力は以下のようになります。
-b, --builtin-only
-B, --external-only
-p, --default-path
PATH 変数の代わりに、標準のコマンドをすべて含むようなシステム固有のデフォルトパスを用いて外部コマンドを検索します。
-v, --identify
-V, --verbose-identify
-v (--identify) オプションならびに -V (--verbose-identify) オプションを付けずに実行した場合、command コマンドの終了ステータスは実行したコマンドの終了ステータスです。実行しようとしたコマンドが見つからなかった場合、終了ステータスは 127 です。コマンドが見つかったが実行できなかった場合、終了ステータスは 126 です。
-v (--identify) オプションまたは -V (--verbose-identify) オプションを付けて実行した場合、終了ステータスは原則として 0 です。ただしコマンドが見つからなかった場合やその他エラーが発生したときは非 0 です。
Command コマンドは準特殊組込みコマンドです。
POSIX には -b (--builtin-only) および -B (--external-only) オプションに関する規定はありません。よってこれらのオプションは POSIX 準拠モードでは使えません。
POSIX は -v オプションと -V オプションを同時に指定することを認めていません。また -v オプションまたは -V オプションを使う場合、コマンドを複数指定することを認めていません。