Linuxコマンドのすべてのディレクトリパスは、$ PATHという変数に保存されます。コマンドが呼び出されると、次のルックアップを高速化するために、そのパスがハッシュと呼ばれるノートブックにさらに保存されます。
hashはシェル組み込みコマンドであり、help hash
非常に簡単な説明が提供されています。 -tオプションは、ハッシュに収集されたすべてのパスを印刷するように記述されているため、次のように入力します。
hash -t
ハッシュコンテンツのリストを入手できることを確認してください。
しかし、私はこれを得ます:
bash: hash: -t: オプションには引数が必要です。
どのような主張が必要ですか?
私は何が間違っていましたか?
ハッシュテーブルの内容を表示するには?
答え1
これが実装されているようですがhash
?bash
hash -t
1 つ以上のユーティリティのハッシュ位置の要求であるため、1 つの引数が必要です。
$ hash -t ls
/bin/ls
$ hash -t ls man
ls /bin/ls
man /usr/bin/man
ヘルプテキストによると:
名前ごとに記憶された場所を印刷し、複数の名前がある場合は、各場所の前にその名前を付けます。
すべてのハッシュユーティリティを表示するには、hash
引数なしで使用してください。
$ hash
hits command
1 /usr/bin/man
2 /bin/ls
繰り返しますが、ヘルプテキストに示されているように:
引数が指定されていない場合は、記憶されたコマンドに関する情報が表示されます。