command - 単純コマンドを実行する
形式
- command [-p] command-name [argument...]
- command [-V|-v] command-name
説明
command は、シェルの関数検索を抑制し、指定の command と引数を標準コマンド行であるかのようにシェルに実行させます。多くの場合、command-name が関数の名前でなければ、結果は command を省略したものと同じです。しかし、command-name が
特殊組み込みユーティリティーである場合は (sh を参照)、以下のように、特殊組み込みに固有な属性は適用されません。
- コマンドの構文エラーによって、シェルがコマンドの実行を打ち切ることはありません。
- 特殊組み込みコマンドによって指定された変数割り当ては、シェルがコマンドを実行した後まで効力を及ぼすことはありません。
オプション
- -p
- デフォルトのシステム変数 PATH を使用して、command-name を検索します。
- -v
- シェルが command-name を呼び出すために使用する パス名またはコマンドを示すストリングを書き込みます。
- -V
- シェルがどのように command-name を解釈するかを示すストリングを書き込みます。command-name がコマンド、正規組み込みコマンド、または PATH 変数を 使用して見つけ出された当バージョン提供の関数の場合は、そのストリングによりそれらが識別されて、絶対パス名が組み込まれます。command-name が別名、関数、特殊組み込みコマンド、または予約語の場合は、ストリングはそれをそのように識別し、別名の場合はその定義を組み込みます。コマンドが追跡された別名である場合は、ストリングはそれをキャッシュに書き込まれた (cached) と識別します。
例
典型的な例としては、command が同じ名前の関数をもつ可能性の
あるときに使用します。例えば、以下は cd 関数の定義です。この関数は、新しいディレクトリーに切り替えるだけでなく、lc を
使用してそのディレクトリーの内容をリストします。
function cd {
command cd $1
lc
}関数の内部では、実 cd をつかむ ために command を使用します。そのようにしないと、cd 関数は自分自身を呼び出し、無限再帰になります。
ローカライズ
command は、以下のローカライズ環境変数を使用します。
- LANG
- LC_ALL
- LC_CTYPE
- LC_MESSAGES
- NLSPATH
詳しくは、ローカライズを参照してください。
使用上の注意
command は、組み込みシェル・コマンドです。
終了値
-v を指定した場合、可能性のある終了状況値は以下のとおりです。
0- 正常終了
1- command が command-name を見つけられなかった、またはエラーが発生した。
2- コマンド行引数が正しくないための失敗。
-v を指定しなかった場合、可能性のある終了状況値は以下のとおりです。
126- command は command-name を見つけ出したが、その呼び出しに失敗した。
127- コマンドでエラーが発生した、またはコマンドが command-name を 見つけられなかった。
それ以外の場合は、command の終了状況は、command-name の 終了状況になります。
移植性
POSIX.2 .
関連情報
sh