'\" te .\" Copyright (c) 1992, X/Open Company Limited All Rights Reserved .\" Portions Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved. .\" Portions Copyright (c) 1982-2007 AT&T Knowledge Ventures .\" Sun Microsystems, Inc. gratefully acknowledges The Open Group for permission to reproduce portions of its copyrighted documentation. Original documentation from The Open Group can be obtained online at http://www.opengroup.org/bookstore/. .\" The Institute of Electrical and Electronics Engineers and The Open Group, have given us permission to reprint portions of their documentation. In the following statement, the phrase "this text" refers to portions of the system documentation. Portions of this text are reprinted and reproduced in electronic form in the Sun OS Reference Manual, from IEEE Std 1003.1, 2004 Edition, Standard for Information Technology -- Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 6, Copyright (C) 2001-2004 by the Institute of Electrical and Electronics Engineers, Inc and The Open Group. In the event of any discrepancy between these versions and the original IEEE and The Open Group Standard, the original IEEE and The Open Group Standard is the referee document. The original Standard can be obtained online at http://www.opengroup.org/unix/online.html. This notice shall appear on any product containing this material. .TH command 1 "2011 年 7 月 12 日" "SunOS 5.11" "ユーザーコマンド" .SH 名前 command \- 単純コマンドの実行 .SH 形式 .SS "/usr/bin/command" .LP .nf \fBcommand\fR [\fB-p\fR] \fIcommand_name\fR [\fIargument\fR]... .fi .LP .nf \fBcommand\fR [\fB-v\fR | \fB-V\fR] \fIcommand_name\fR .fi .SS "ksh" .LP .nf \fBcommand\fR [\fB-pvxV\fR] [\fIcommand_name\fR [\fIargument\fR...]] .fi .SH 機能説明 .sp .LP \fBcommand\fR ユーティリティーを使用すると、シェルは関数の検索を実行せずに、指定された引数を単純コマンドとして扱います。 .sp .LP \fIcommand_name\fR が特殊組み込みユーティリティーのいずれかの名前と同じ場合、特殊プロパティーは発生しません。その他の点では、\fIcommand_name\fR が関数の名前でない場合、通常、\fBcommand\fR (オプションなし) の効果は、\fBcommand\fR を省略した場合と同じになります。 .sp .LP \fBcommand\fR ユーティリティーは、シェルによるコマンド名の解釈方法についての情報も提供します。\fB-v\fR および \fB-V\fR を参照してください。 .SS "ksh" .sp .LP \fB-v\fR や \fB-V\fR オプションを指定しない場合、\fBcommand\fR は \fIargument\fR で指定された引数を使って \fIcommand_name\fR を実行します。通常行われるシェル関数の検索は抑制されます。また、\fIcommand \fR が特殊な組み込みコマンドの場合、特殊プロパティーを削除することで、失敗してもそれを実行するスクリプトが終了されないようにします。 .sp .LP \fB-v\fR または \fB-V\fR オプションが指定されている場合、\fBcommand\fR は \fBwhence\fR(1) と同等です。 .SH オプション .sp .LP \fB/usr/bin/command\fR では次のオプションを使用できます。 .sp .ne 2 .mk .na \fB\fB-p\fR\fR .ad .RS 7n .rt すべての標準ユーティリティーの検索を可能にする \fBPATH\fR のデフォルト値を使用して、コマンド検索を実行します。 .RE .sp .ne 2 .mk .na \fB\fB-v\fR\fR .ad .RS 7n .rt 現在のシェル実行環境で \fIcommand_name\fR を呼び出すためにシェルが使用するパスまたはコマンドを示す文字列を標準出力に書き込みますが、\fIcommand_name\fR を呼び出しません。 .RS +4 .TP .ie t \(bu .el o ユーティリティー、正規の組み込みユーティリティー、スラッシュ文字を含む \fIcommand_names\fR、および \fBPATH\fR 変数を使用して検出される、実装で提供されている関数は、絶対パス名として書き込まれます。 .RE .RS +4 .TP .ie t \(bu .el o シェル関数、特殊組み込みユーティリティー、\fBPATH\fR 検索に関連しない正規の組み込みユーティリティー、およびシェル予約語は、単純に名前として書き込まれます。 .RE .RS +4 .TP .ie t \(bu .el o 別名は、別名定義を表すコマンド行として書き込まれます。 .RE .RS +4 .TP .ie t \(bu .el o それ以外の場合、出力には何も書き込まれず、終了ステータスに名前が検出されなかったことが示されます。 .RE .RE .sp .ne 2 .mk .na \fB\fB-V\fR \fR .ad .RS 7n .rt 現在のシェル実行環境で、\fIcommand_name\fR オペランドで指定された名前をシェルが解釈する方法を示す文字列を、標準出力に書き込みますが、\fIcommand_name\fR を呼び出しません。この文字列の書式は規定されていませんが、出力文字列は指定した \fIcommand_name\fR が属するカテゴリを示し、次の情報を含みます。 .RS +4 .TP .ie t \(bu .el o ユーティリティー、正規の組み込みユーティリティー、および \fBPATH\fR 変数を使用して検出される、実装で提供されている関数では、そのように識別され、文字列に絶対パス名が含まれています。 .RE .RS +4 .TP .ie t \(bu .el o これ以外のシェル関数は関数として識別されます。 .RE .RS +4 .TP .ie t \(bu .el o 別名は別名として識別され、その定義は文字列に含まれています。 .RE .RS +4 .TP .ie t \(bu .el o 特殊組み込みユーティリティーは、特殊組み込みユーティリティーとして識別されます。 .RE .RS +4 .TP .ie t \(bu .el o \fBPATH\fR 検索に関連しない正規の組み込みユーティリティーは、正規の組み込みユーティリティーとして識別されます。 .RE .RS +4 .TP .ie t \(bu .el o シェル予約語は、予約語として識別されます。 .RE .RE .SS "ksh" .sp .LP \fBksh\fR の \fBcommand\fR では次のオプションがサポートされています。 .sp .ne 2 .mk .na \fB\fB-p\fR\fR .ad .RS 7n .rt \fBPATH\fR の値で定義されているパスではなく、デフォルトパスを検索します。 .RE .sp .ne 2 .mk .na \fB\fB-v\fR\fR .ad .RS 7n .rt 次と同等です。 .sp .in +2 .nf whence \fIcommand\fR [\fIargument\fR ...] .fi .in -2 .sp .RE .sp .ne 2 .mk .na \fB\fB-V\fR \fR .ad .RS 7n .rt 次と同等です。 .sp .in +2 .nf whence -v \fIcommand\fR [\fIargument\fR ...] .fi .in -2 .sp .RE .sp .ne 2 .mk .na \fB\fB-x\fR\fR .ad .RS 7n .rt 引数が多すぎるためにコマンドが失敗した場合は、コマンドが複数回呼び出され、呼び出しごとに引数のサブセットが使用されます。複数の引数に展開する最初のワードの前の引数と、複数の引数に展開する最後のワードのあとの引数は、各呼び出しに渡されます。終了ステータスは呼び出しの最大終了ステータスです。 .RE .SH オペランド .sp .LP 次のオペランドがサポートされています。 .sp .ne 2 .mk .na \fB\fIargument\fR\fR .ad .RS 16n .rt \fIcommand_name\fR への引数として扱われる文字列の 1 つ。 .RE .sp .ne 2 .mk .na \fB\fIcommand_name\fR\fR .ad .RS 16n .rt ユーティリティーまたは特殊組み込みユーティリティーの名前。 .RE .SH 使用例 .LP \fB例 1 \fR新しい作業ディレクトリを常に出力する \fBcd\fR を作成する .sp .LP 次の例では、常に新しい作業ディレクトリを一度だけ出力する \fBcd\fR を作成します。 .sp .in +2 .nf cd() { command cd "$@" >/dev/null pwd } .fi .in -2 .sp .LP \fB例 2 \fRスクリプトが親によるなりすましを回避する「安全なシェルスクリプト」の開始\fB\fR .sp .LP 次の例では、スクリプトが親によるなりすましを回避する「安全なシェルスクリプト」を開始しています。\fB\fR .sp .in +2 .nf IFS=' \&' # The preceding value should be . # Set IFS to its default value. \eunalias -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. # ... .fi .in -2 .sp .sp .LP この時点で、\fBPATH\fR で呼び出されるディレクトリに適切なアクセス権が付与されていれば、スクリプトは、スクリプトが呼び出すユーティリティーはすべて目的のものであることを保証できます。実装拡張機能が存在でき、それによって呼び出し時にユーザー関数が存在できることが前提となっているため、慎重を期しています。この機能は本書では規定されていませんが、拡張機能としては禁止されていません。たとえば、\fBENV\fR 変数は、ユーザー起動スクリプトを使用するスクリプトの呼び出しに先行します。このようなスクリプトでは、アプリケーションになりすます関数を定義している場合があります。 .SH 環境 .sp .LP \fBcommand\fR の実行に影響を与える次の環境変数については、\fBenviron\fR(5) を参照してください。\fBLANG\fR、\fBLC_ALL\fR、\fBLC_CTYPE\fR、\fBLC_MESSAGES\fR、および \fBNLSPATH\fR。 .sp .ne 2 .mk .na \fB\fBPATH\fR\fR .ad .RS 8n .rt コマンド検索中に使用される検索パスを決定します。\fB-p\fR オプションが指定されている場合は除きます。 .RE .SH 終了ステータス .SS "/usr/bin/command" .sp .LP \fB-v\fR または \fB-V\fR オプションを指定すると、次の終了値が返されます。 .sp .ne 2 .mk .na \fB\fB0\fR\fR .ad .RS 6n .rt 正常終了。 .RE .sp .ne 2 .mk .na \fB>\fB0\fR\fR .ad .RS 6n .rt \fIcommand_name\fR が検出できなかったか、エラーが発生しました。 .RE .sp .LP それ以外の場合は、次の終了値が返されます。 .sp .ne 2 .mk .na \fB\fB126\fR\fR .ad .RS 7n .rt \fIcommand_name\fR で指定したユーティリティーは見つかりましたが、呼び出せませんでした。 .RE .sp .ne 2 .mk .na \fB\fB127\fR\fR .ad .RS 7n .rt \fBcommand\fR ユーティリティーでエラーが発生したか、あるいは \fIcommand_name\fR で指定したユーティリティーが見つかりませんでした。 .RE .sp .LP それ以外の場合、\fBcommand\fR の終了ステータスは、\fBcommand_name\fR 引数で指定した単純コマンドの終了ステータスになります。 .SS "ksh" .sp .LP \fIcommand\fR が呼び出されると、\fBcommand\fR の終了ステータスが \fIcommand\fR の終了ステータスになります。それ以外の場合は、次のいずれかになります。 .sp .ne 2 .mk .na \fB\fB0\fR\fR .ad .RS 7n .rt \fIcommand_name\fR が正常に完了しました。 .RE .sp .ne 2 .mk .na \fB>\fB0\fR\fR .ad .RS 7n .rt \fB-v\fR または \fB-V\fR が指定され、エラーが発生しました。 .RE .sp .ne 2 .mk .na \fB\fB126\fR\fR .ad .RS 7n .rt \fIcommand_name\fR は見つかったが、呼び出すことができませんでした。 .RE .sp .ne 2 .mk .na \fB\fB127\fR\fR .ad .RS 7n .rt \fIcommand_name\fR は見つかりませんでした。 .RE .SH 属性 .sp .LP 属性についての詳細は、マニュアルページの \fBattributes\fR(5) を参照してください。 .SS "/usr/bin/command" .sp .sp .TS tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) . 属性タイプ属性値 _ 使用条件system/core-os _ インタフェースの安定性確実 _ 標準T{ \fBstandards\fR(5) を参照してください。 T} .TE .SS "ksh" .sp .sp .TS tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) . 属性タイプ属性値 _ 使用条件system/core-os _ インタフェースの安定性不確実 .TE .SH 関連項目 .sp .LP \fBksh\fR(1), \fBsh\fR(1), \fBtype\fR(1), \fBwhence\fR(1), \fBattributes\fR(5), \fBenviron\fR(5), \fBstandards\fR(5)