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"
答案1
gmx
Bash 只记住每个名称的一个路径,因此它(最多)只有一个路径。您可以通过运行来查看是哪一个
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 手册了解详情。