Skip to main content

Fujitsu

Japan

シェル関連:ハッシュテーブルの表示/操作

コマンド

sh、kshの場合
/usr/bin/hash [オプション] 名前
csh、tcshの場合
rehash (内部コマンド)

形式

hash シェルは、名前 に指定されたコマンドごとに、検索パス内での位置を決定し、記憶します。
rehash rehashは新しく追加されたコマンドに合わせて、path環境の変数に記憶しているディレクトリの内容の内部ハッシュテーブルを再計算します。

オプション

なし sh、kshは記憶されたコマンドに関する情報を表示します。
csh、tcshは新しく追加されたコマンドに合わせて、path環境の変数に記憶しているディレクトリの内容の内部ハッシュテーブルを再計算します。
shの場合
-r
記憶したすべての検索パス内での位置の記憶を破棄します。
bashの場合
-r
記憶したすべての検索パス内での位置の記憶を破棄します。

使用例

rehash

cshの場合
path 環境の変数に記憶しているディレクトリの内容の内部ハッシュテーブルを再計算します。

% echo $PATH
/usr/bin:/usr/ucb:/etc:/export/home/user1/bin:.
%
% pwd
/export/home/user1
%
% vi ./bin/echo.sh
echo aaa
%
% chmod 755 ./bin/echo.sh
%
% echo.sh
echo.sh: コマンドが見つかりません。
%
% rehash
%
% echo.sh
aaa

PATHに/export/home/user1/binが設定してあっても、rehashしない限り新しく追加されたコマンドは見つかりません。