2 このファイルは ‘which’ version 2.x を説明するものです。
4 Copyright © 2000 - 2015, by
6 Carlo Wood, Run on IRC <carlo@alinoe.com>
7 RSA-1024 0x624ACAD5 1997-01-26 Sign & Encrypt
8 Fingerprint16 = 32 EC A7 B6 AC DB 65 A6 F6 F6 55 DD 1C DC FF 61
10 Permission is granted to make and distribute verbatim copies of
11 this manual provided the copyright notice and this permission notice
12 are preserved on all copies.
15 *******************************
17 ‘which’ プログラムは(シェル)コマンドのフルパスを表示します。
19 This file documents ‘which’ version 2.21, updated 20 March 2015.
24 ‘which’ は 1 つまたは複数の引数を取ります。その引数それぞれに対して、そ
25 の引数がシェルプロンプトから入力された際に、実行されることになる実行モジ
26 ュールのフルパスを stdout に出力します。 これを実現する際には、環境変数
27 ‘PATH’ に列記されたディレクトリ内から実行ファイルやスクリプトを検索しま
28 す。 これは ‘bash(1)’ と同じアルゴリズムを用いています。
33 ‘which’ の実行書式は以下のとおりです。
35 which [options] [--] programname [...]
42 ‘PATH’ において見つかった実行ファイルをすべて表示します。最初に見つ
47 標準入力からエイリアスを読み込んで、合致したものを標準出力します。
48 これは which そのものを含む alias において、本オプションを合わせて
50 ‘alias which='alias | which -i'’
53 ‘--read-alias’ が指定されても無視します。which に対するエイリアスや
54 関数の中で ‘--read-alias’ オプションを利用している場合であっても、
55 明示的に通常の実行ファイルを検索する場合に利用できます。
58 標準入力からシェル関数定義を読み込んで、合致したものを標準出力しま
59 す。これは which そのものを含むシェル関数において、本オプションを合
60 わせて利用すると便利です。たとえば以下です。
61 ‘which() { declare -f | which --read-functions $@ }
65 ‘--read-functions’ が指定されても無視します。which に対するエイリア
66 スや関数の中で ‘--read-functions’ オプションを利用している場合であ
67 っても、明示的に通常の実行ファイルを検索する場合に利用できます。
70 ‘PATH’ 内のディレクトリにうち、ドットで始まるディレクトリは除外しま
74 チルダで始まる ‘PATH’ 内のディレクトリ、および ‘HOME’ ディレクトリ
78 ‘PATH’ 内にドットで始まるディレクトリがあって、合致した実行ファイル
79 がその中に見つかった場合には、フルパスでなく "./programname" と表示
83 ディレクトリが ‘HOME’ に合致した場合、チルダを表示します。 このオプ
84 ションは root ユーザーが実行した際には無視されます。
87 tty 上でない場合、この右側に指定されたオプションの実行を停止します
91 バージョン情報を標準出力して正常終了します。
99 ‘which’ は、処理に失敗した引数の数を返します。また ‘programname’ が指定
105 本ユーティリティーを利用するには、‘which’ に対して、エイリアスを追加する
106 (C シェルの場合) 、あるいはシェル関数を追加する (Bourne シェル) 方法が推
113 (alias; declare -f) | /usr/bin/which --tty-only --read-alias --read-functions --show-tilde --show-dot $@
119 alias which 'alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
121 この方法にすると、端末から起動した際には、わかりやすく ~/ や ./ を表示し
122 ます。一方でスクリプトから実行した際には、フルパスを表示します。
132 ‘HOME’ ディレクトリは、環境変数 ‘HOME’ を調べることで決定されますが、こ
133 の変数が存在しない場合には、その処理がキャンセルされます。‘which’ は 2 つ
134 の同等のディレクトリであっても、その 1 つにシンボリックリンクを使ったパ
135 スが含まれている場合に、別のディレクトリと取り扱ってしまいます。
147 * --all: オプションの概要. (line 39)
148 * --help: オプションの概要. (line 92)
149 * --read-alias: オプションの概要. (line 44)
150 * --read-functions: オプションの概要. (line 56)
151 * --show-dot: オプションの概要. (line 76)
152 * --show-tilde: オプションの概要. (line 81)
153 * --skip-alias: オプションの概要. (line 51)
154 * --skip-dot: オプションの概要. (line 68)
155 * --skip-functions: オプションの概要. (line 63)
156 * --skip-tilde: オプションの概要. (line 72)
157 * --tty-only: オプションの概要. (line 85)
158 * --version: オプションの概要. (line 89)
159 * -a: オプションの概要. (line 39)
160 * -i: オプションの概要. (line 44)
161 * -v: オプションの概要. (line 89)
162 * -V: オプションの概要. (line 89)
163 * aliases, handling of: 例. (line 104)
164 * Bugs, known: バグ. (line 131)
165 * Command line Options: オプションの概要. (line 39)
166 * Description of which: which プログラム. (line 23)
167 * Examples: 例. (line 104)
168 * Options, command line: オプションの概要. (line 39)
169 * Overview of command line options: オプションの概要. (line 39)
170 * Return value of which: 返り値. (line 98)
171 * Synopsis: which の起動. (line 32)
172 * which の実行: which の起動. (line 32)