特定の実行可能ファイルパスのbashハッシュを削除する

特定の実行可能ファイルパスのbashハッシュを削除する

gmx私は次の2つのパスに対してコマンドを呼び出しました。

/usr/local/bin/gmx

そして

/Users/alexamil/.nvm/versions/node/v9.2.0/bin/gmx

そのうちの1つだけbashハッシュを削除するにはどうすればよいですか?

私が実行した場合:

hash -d gmx

どちらが削除されますか?どちらも削除しますか、それとも最新の値のみを削除しますか?特定のアイテムを削除するのに機能しますか?

hash -d  "/Users/alexamil/.nvm/versions/node/v9.2.0/bin/gmx"

ベストアンサー1

gmxBashは名前ごとに1つのパスだけを覚えているので(最大)1つのパスしか持っていません。実行するとどちらかを確認できます。

hash -t gmx

走る

hash -d gmx

すべての項目gmx(でマーク)が削除されます。hash -t次回それを実行しようとすると、gmxシェルはにリストされているディレクトリでそれを見つけ、見つかったPATH最初のディレクトリをハッシュとして保存します。

特定の値を削除することはできませんが、自分の値ではない値を含む特定の値を強制的に適用できますPATH

hash -p /usr/local/bin/gmx gmx

/usr/local/bin/gmxこれにより、入力時にシェルが実行されますgmx

バラよりバッシュマニュアルもっと学ぶ。

おすすめ記事