ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Solaris のシステム管理 (上級編) Oracle Solaris 10 8/11 Information Library (日本語) |
「コマンドが見つかりません」のメッセージは、以下のどれかを意味します。
コマンドがそのシステムに存在しない
コマンドのディレクトリが検索パスに存在しない
検索パスの問題を解決するには、コマンドが格納されているディレクトリのパス名を知る必要があります。
間違ったバージョンのコマンドが見つかってしまうのは、同じ名前のコマンドを持つディレクトリが検索パスにある場合です。この場合、正しいディレクトリが検索パスの後ろの方にあるか、まったく存在しない可能性があります。
現在の検索パスを表示するには、echo $PATH コマンドを使用します。次に例を示します。
$ echo $PATH /home/kryten/bin:/sbin:/usr/sbin:/usr/bin:/usr/dt:/usr/dist/exe
間違ったバージョンのコマンドを実行しているかどうかを調べるには、which コマンドを使用します。次に例を示します。
$ which acroread /usr/doctools/bin/acroread
注 - which コマンドは、.cshrc ファイルの中のパス情報を調べます。.cshrc ファイルに which コマンドの認識する別名を定義している場合に、Bourne シェルか Korn シェルから which コマンドを実行すると、間違った結果が返される場合があります。正しい結果を得るために、which コマンドは C シェルで使用してください。Korn シェルの場合は、whence コマンドを使用します。
$ echo $PATH
パスを修正する必要がある場合は、手順 3 に進みます。修正する必要がない場合は、手順 4 に進みます。
|
|
$ which command
例 19-1 検索パスの問題を診断して解決する
この例は、which コマンドを使用して、mytool の実行可能ファイルが検索パス中のどのディレクトリにも存在しないことを示しています。
venus% mytool mytool: Command not found venus% which mytool no mytool in /sbin /usr/sbin /usr/bin /etc /home/ignatz/bin . venus% echo $PATH /sbin /usr/sbin /usr/bin /etc /home/ignatz/bin venus% vi ~/.cshrc (Add appropriate command directory to the search path) venus% source .cshrc venus% mytool
コマンドを見つけることができなかった場合は、マニュアルページでそのディレクトリパスを調べます。たとえば、lpsched コマンド (lp 印刷デーモン) が見つからない場合、lpsched(1M) のマニュアルページを調べると、そのパスが /usr/lib/lp/lpsched であることがわかります。