名前 | 形式 | 機能説明 | オプション | オペランド | 使用例 | 環境 | 終了ステータス | 属性 | 関連項目
command ユーティリティを使用すると、シェルは関数の検索を実行せずに、指定された引数を単純コマンドとして扱います。
command_name が特殊組み込みユーティリティのいずれかの名前である場合、特性が発生することはありません。command_name が関数の名前でない場合、通常、command の効果は、command を使用しないでユーティリティを呼び出した場合と同じ結果になります。
command ユーティリティは、シェルによるコマンド名の解釈方法についての情報も提供します。-v および -V を参照してください。
次のオプションを指定できます。
すべての標準ユーティリティの検索を可能にする PATH のデフォルト値を使用して、コマンド検索を実行します。
現在のシェル実行環境で command_name を呼び出すためにシェルが使用するパスまたはコマンドを示す文字列を標準出力に書き込みます。
ユーティリティ、正規の組み込みユーティリティ、スラッシュ文字を含む command_names、および PATH 変数を使用して検出される、実装で提供されている関数では、出力文字列に絶対パス名が含まれます。
シェル関数、特殊組み込みユーティリティ、PATH 検索に関連しない正規の組み込みユーティリティ、およびシェル予約語では、出力文字列にはその名前だけが含まれます。
別名では、出力文字列は別名定義を表すコマンド行です。
上記以外では、何も出力されず、終了ステータスに名前が検出されなかったことが示されます。
現在のシェル実行環境で、command_name オペランドで指定された名前をシェルが解釈する方法を示す文字列を、標準出力に書き込みます。この文字列の書式は規定されていませんが、出力文字列は指定した command_name が属するカテゴリを示し、次の情報を含みます。
ユーティリティ、正規の組み込みユーティリティ、および PATH 変数を使用して検出される、実装で提供されている関数では、そのように識別され、文字列に絶対パス名が含まれます。
これ以外のシェル関数は関数として識別されます。
別名は別名として識別されて、文字列には別名定義が含まれます。
特殊組み込みユーティリティは、特殊組み込みユーティリティとして識別されます。
PATH 検索に関連しない正規の組み込みユーティリティは、正規の組み込みユーティリティとして識別されます。
シェル予約語は、予約語として識別されます。
cd() { command cd "$@" >/dev/null pwd } |
IFS=' ' # The preceding value should be <space><tab><newline>. # Set IFS to its default value. \unalias -a # Unset all possible aliases. # Note that unalias is escaped to prevent an alias # being used for unalias. unset -f command # Ensure command is not a user function. PATH="$(command -p getconf _CS_PATH):$PATH" # Put on a reliable PATH prefix. # . . . |
PATH で参照されるディレクトリに適切な許可が与えられていれば、この時点でスクリプトは、呼び出すユーティリティがすべて目的のものであることを保証できます。このスクリプトは、実装システム上に拡張機能が用意されていることを前提としています。そのような拡張機能は、スクリプトが呼び出されるときに、ユーザー関数が存在できるようにします。このような拡張機能は本書では規定されていませんが、拡張機能としては禁止されていません。たとえば、ENV 環境変数が、このスクリプトの前に実行されるユーザー起動スクリプトを定義しているとします。その場合、ユーザー起動スクリプトは、アプリケーションを出し抜く (アプリケーションが呼び出す予定のユーティリティに代わる) 関数を定義できます。
command の実行に影響を与える環境変数、LC_CTYPE、 LC_CTYPE、 LC_MESSAGES、 NLSPATH については、environ(5) のマニュアルページを参照してください。
コマンド検索中に使用される検索パスを決定します。-p オプションが指定されている場合は除きます。
-v または -V オプションを指定すると、次の終了ステータスが返されます。
正常終了
command_name が検出できなかった、あるいはエラーが発生した
上記以外の場合は、次の終了ステータスが返されます。
command_name で指定したユーティリティが見つかったが、呼び出せなかった
command ユーティリティでエラーが発生した、あるいは command_name で指定したユーティリティが見つからなかった。
上記以外の場合、command の終了ステータスは、command_name 引数で指定した単純コマンドの終了ステータスになります。
次の属性については、attributes(5) のマニュアルページを参照してください。
属性タイプ | 属性値 |
---|---|
使用条件 | SUNWcsu |
名前 | 形式 | 機能説明 | オプション | オペランド | 使用例 | 環境 | 終了ステータス | 属性 | 関連項目