X-Git-Url: http://git.osdn.net/view?p=linuxjm%2Fjm.git;a=blobdiff_plain;f=manual%2FGNU_which%2Fdraft%2Fman1%2Fwhich.1;fp=manual%2FGNU_which%2Fdraft%2Fman1%2Fwhich.1;h=77c1689e084aff4b49e80966fce1b2a99d325626;hp=cf6c8b15a5c6159b46ae99f4f7f2653c04d28011;hb=a7519b7a770569743787aff32aabf0c2962a131d;hpb=0acba16407132228713eea48284deef4309db295 diff --git a/manual/GNU_which/draft/man1/which.1 b/manual/GNU_which/draft/man1/which.1 index cf6c8b15..77c1689e 100644 --- a/manual/GNU_which/draft/man1/which.1 +++ b/manual/GNU_which/draft/man1/which.1 @@ -34,42 +34,46 @@ which \- (シェル) コマンドのフルパスを表示 .SH 書式 \fBwhich\fP [options] [\-\-] programname [...] .SH 説明 -\fBwhich\fP は 1 つまたは複数の引数を取ります。 -その引数それぞれに対して、その引数がシェルプロンプトから入力された際に、実行されることになる実行モジュールのフルパスを stdout に出力します。 -これを実現する際には、環境変数 \fBPATH\fP に列記されたディレクトリ内から実行ファイルやスクリプトを検索します。 これは \fBbash(1)\fP -と同じアルゴリズムを用いています。 +\fBwhich\fP は +一つ以上の引数を取り、そうした引数のそれぞれについて、それがシェルプロンプトから入力された場合に、実行されていたであろう実行ファイルのフルパスを標準出力に書き出します。\fBwhich\fP +はそれを行うにあたり、 \fBbash(1)\fP と同じアルゴリズムを使用して、環境変数 \fBPATH\fP +にリストされたディレクトリを調べ、実行ファイルやスクリプトを捜します。 このマニュアルページは \fIwhich.texinfo\fP ファイルから生成されています。 .SH オプション .TP 4 \fB\-\-all\fP, \fB\-a\fP -\fBPATH\fP 内に見つかった実行ファイルすべてを表示します。 最初に見つかったもの以外も表示します。 +\fBPATH\fP 中で最初に引数に一致したものだけでなく、一致したすべての実行ファイルを表示します。 .TP \fB\-\-read\-alias\fP, \fB\-i\fP -標準入力からエイリアスを読み込んで、合致したものを標準出力します。 これは which そのものを含む alias -において、本オプションを合わせて利用すると便利です。 たとえば以下です。 +標準入力からエイリアスを読み込んで、引数に一致するものを標準出力に書き出します。 このオプションは which +コマンドの代わりに使うエイリアスで使うと良いでしょう。 たとえば次のようにです。 .br \fBalias which=\'alias | which \-i\'\fP. .TP \fB\-\-skip\-alias\fP -\`\-\-read\-alias\' が指定されても無視します。 which に対するエイリアスや関数の中で \`\-\-read\-alias\' -オプションを利用している場合であっても、 明示的に通常の実行ファイルを検索する場合に利用できます。 +\`\-\-read\-alias\' が指定されても、それを無視します。 このオプションは、which コマンドの代わりに使うエイリアスや関数で +\`\-\-read\-alias\' オプションを使用する場合に、 明示的に通常のバイナリを探すのに役に立ちます。 .TP \fB\-\-read\-functions\fP -標準入力からシェル関数定義を読み込んで、合致したものを標準出力します。 これはwhich -そのものを含むシェル関数において、本オプションを合わせて利用すると便利です。 たとえば以下です。 +標準入力からシェル関数定義を読み込んで、引数に一致するものを標準出力に書き出します。 このオプションは which +コマンドの代わりに使うシェル関数において使用するとよいでしょう。たとえば、次のようにです。 .br \fBwhich() { declare \-f | which \-\-read\-functions $@ }\fP .br export \-f which .TP \fB\-\-skip\-functions\fP -\`\-\-read\-functions\' が指定されても無視します。 which に対するエイリアスや関数の中で -\`\-\-read\-functions\' オプションを利用している場合であっても、明示的に通常の実行ファイルを検索する場合に利用できます。 +\`\-\-read\-functions\' が指定されてもそれを無視します。このオプションは which コマンドの代わりに使うエイリアスや関数で +\`\-\-read\-functions\' オプションを使用しているに、明示的に通常のバイナリを探すのに役に立ちます。 .TP \fB\-\-skip\-dot\fP -\fBPATH\fP 内のディレクトリのうち、ドットで始まるディレクトリは除外します。 +\fBPATH\fP 中のドット (.) 1 個のディレクトリから始まるパスをスキップします。 + +[訳注] 環境変数 PATH に ’.’ や (ありそうにないことですが) ’./bin’ +などが登録されている場合のことを言っています。’$HOME/.local' +といったディレクトリのことではありません。そのへんの事情は、‘\-\-show\-dot’でも同じです。 .TP \fB\-\-skip\-tilde\fP チルダで始まる \fBPATH\fP 内のディレクトリ、および \fBHOME\fP ディレクトリ内に存在する実行ファイルは除外します。 @@ -79,10 +83,14 @@ export \-f which と表示します。 .TP \fB\-\-show\-tilde\fP -ディレクトリが \fBHOME\fP に合致した場合、チルダを表示します。 このオプションは root ユーザーが実行した際には無視されます。 +ディレクトリに \fBHOME\fP ディレクトリと一致する部分があるときは、チルダを表示します。 このオプションは \fBwhich\fP が root +権限で実行されている場合には無視されます。 .TP \fB\-\-tty\-only\fP -tty 上でない場合、この右側に指定されたオプションの実行を停止します。 +出力が端末でない場合は、これより右にあるオプションの処理を行いません。 + +[訳注] このオプションに効果があるのは、'\-\-show\-dot', '\-\-show\-tilde', '\-\-skip\-dot', +\&'\-\-skip\-tilde' に対してだけのようです。 .TP \fB\-\-version,\-v,\-V\fP バージョン情報を標準出力して正常終了します。 @@ -90,10 +98,10 @@ tty 上でない場合、この右側に指定されたオプションの実行 \fB\-\-help\fP 利用方法を標準出力して正常終了します。 .SH 返り値 -\fBwhich\fP は検索に失敗した引数の数を返します。 また \`programname\' が指定されなかった場合は \-1 を返します。 +\fBwhich\fP は検索に失敗した引数の数を返します。 また 引数に \`programname\' が指定されなかった場合は \-1 を返します。 .SH 例 -このユーティリティーのお薦めの使い方は、 \fBwhich\fP に対するエイリアス (C シェル) やシェル関数 (Bourne シェル) -を追加して利用する方法です。 たとえば以下です。 +このユーティリティーの使用に当たっては、以下のように、エイリアスか (C shell の場合) シェル関数に (Bourne shell の場合) +\fBwhich\fP コマンドの代わりに使用するものを追加しておくことをお勧めします。たとえば以下です。 [ba]sh の場合: @@ -119,8 +127,8 @@ alias which \'alias | /usr/bin/which \-\-tty\-only \-\-read\-alias \-\-show\-dot .ad .fi -こうすることで、プロンプトから実行した場合には、見やすいように ~/ や ./ を出力します。 -スクリプトから利用した場合には、そのままフルパスで出力します。 +このようにしておくと、which をプロンプトから実行したときには、パスを ~/ や ./ +という読みやすい形で表示しますが、スクリプトから使用した場合には、通常通りフルパスの表示になります。 .in +5 .nf @@ -129,14 +137,22 @@ alias which \'alias | /usr/bin/which \-\-tty\-only \-\-read\-alias \-\-show\-dot ~/bin/q2 > echo \`which q2\` /home/carlo/bin/q2 + +[訳注] 実際には、こうした関数やエイリアスを端末のプロンプトから実行しようと、 +スクリプトから実行しようと、表示に変わりはありません。出力先が、標準出力や +標準エラーか、それ以外かで違いが生じるようです +(上記二番目の実行例では、標準入力に出力しています)。 念のため、ご自分でお試しください。 .in -5 .ad .fi .SH バグ -\fBHOME\fP ディレクトリは、環境変数 \fBHOME\fP -を調べることで決定されますが、この変数が存在しない場合には、その処理がキャンセルされます。\fBwhich\fP は 2 -つの同等のディレクトリであっても、その 1 つにシンボリックリンクを使ったパスが含まれている場合に、別のディレクトリと取り扱ってしまいます。 +\fBHOME\fP ディレクトリの特定は、環境変数 \fBHOME\fP を調べることで行われますが、変数 \fBHOME\fP +が存在しない場合はこの特定作業は打ち切られます。また、\fBwhich\fP は +二つのディレクトリが同じものであっても、片方のパスにシンボリックリンクが含まれている場合は、別のディレクトリと見なすことになります。 + +[訳注] 前半の記述は古いようです。パッケージ同梱の NEWS ファイルによれば、 which\-2.19 以来、環境変数 \fBHOME\fP +が設定されていない場合は、/etc/passwd ファイルが調べられ、そこでも指定されていない場合は、'/' がホームディレクトリになるとのことです。 .SH 著者 .br Carlo Wood