hash コマンド

目的

コマンド・パス名を記憶または報告します。

構文

パス名リストにコマンドのパスを追加する

hashCommand ... ]

パス名リストを消去する

hash -r

説明

hash コマンドは、パス名をパス名リストに追加するかリストの内容を削除することにより、現行シェルがコマンドのパス名を記憶する方法を変更します。

パラメーターまたはフラグを指定しないと、hash コマンドは パス名リストの内容を標準出力に報告します。 このレポートには、以前に hash コマンドを起動した際に見つかった現行シェル環境内のコマンドのパス名が含まれます。 また、起動されたコマンドと通常のコマンド検索プロセスで見つかったコマンドも表示されます。

注: hash コマンドでは、 シェル組み込みコマンドは報告されません。

-r フラグを使用すると、コマンド・パス名リストの内容をクリアすることができます。また、PATH 環境変数の値をリセットしても、リストからパス名をクリアすることができます。最も単純なフォーマットでクリアする場合は、次のように入力します。

PATH="$PATH"

Command パラメーターを使用すると、hash コマンドは指定したコマンドのパス名を検索し、このパスをリストに追加します。コマンドの指定には、/ (スラッシュ) を使用しないでください。

hash コマンドは現行シェル環境に影響を与えるので、Korn シェル (POSIX シェル) の正規組み込みコマンドとして用意されています。以下の例のように、hash コマンドを別のコマンドの実行環境内で呼び出すと、 呼び出し元の環境のコマンド検索プロセスには影響しません。


nohup hash -r
find . -type f | xargs hash

hash コマンドの使用方法は、alias -t コマンドの使用方法と同じです。

フラグ

項目 説明
-r パス名リストの内容をクリアします。

パラメーター

項目 説明
コマンド パス名リストに追加する Command を指定します。

終了状況

次の終了値が戻されます。

項目 説明
0 正常終了。
>0 エラーが発生しました。

  1. wc コマンドのパス名を検索して、 パス名リストに追加するには、次のように入力します。
    hash wc
  2. パス名リストの内容をクリアするには、次のように入力します。
    
    hash -r

ファイル

項目 説明
/usr/bin/ksh Korn シェルの hash 組み込みコマンドが入っています。
/usr/bin/hash hash コマンドが入っています。