Bash

刪除特定可執行路徑的 bash 雜湊

  • May 10, 2018

我有一個gmx在這兩個路徑上呼叫的命令:

/usr/local/bin/gmx

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

如何僅刪除其中一個的 bash 雜湊?

如果我執行:

hash -d gmx

它要刪除哪一個?它是刪除兩者,還是僅刪除最近的值?這對刪除特定的有效嗎?

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

gmxBash 只記住每個名稱的一個路徑,因此它(最多)只有一個路徑。您可以通過執行查看哪個是

hash -t gmx

跑步

hash -d gmx

將刪除任何條目gmx(由 顯示的條目hash -t)。下次您嘗試執行gmx時,shell 將在您列出的目錄中查找它PATH,並將找到的第一個儲存為雜湊。

你不能刪除一個特定的值,但你可以強制一個特定的值,包括一個不在你的PATH

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

這將導致 shell/usr/local/bin/gmx在您鍵入時執行gmx

有關詳細資訊,請參閱Bash 手冊

引用自:https://unix.stackexchange.com/questions/443076