[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:46480] Re: hashedについて



  永井@シリウスです。

> シェルは コマンドの場所への高速なアクセスのために、内部記録を取っています。
> 
> みたいな説明がありますた。
> 
> もう少し詳しく教えていただけませんでしょうか?

  詳しい説明にはなっていないかもしれませんが、bashのman

http://www.linux.or.jp/JM/html/GNU_bash/man1/bash.1.html

のほうがわかりやすいかと思います。ここから「ハッシュ」というキーワード
が使われているところを見るとよいでしょう。(組み込みコマンドhashとtypeの
説明あたり)

  ひとことでいってしまうと、今操作しているシェルが一度実行したコマンド
のフルパス名を自分のメモリ上に記憶して次からは(ログアウトするまでは)
環境変数PATHを検索せずに実行可能な状態になる、ということです。

  ログイン直後(ターミナルを開いた直後)とコマンド実行直後で比較したり
複数のターミナル間で比較したりするとわかりやすいかと思います。(ただし
lsなどのようなエイリアスされている可能性の高いコマンドでは挙動がわかり
にくいので試さないほうがよいです。file コマンドのように普通はエイリアス
されていないものがよいでしょう。エイリアスされているかどうかはtypeコマ
ンドでわかります)

----
Toyohiko Nagai.