我在两个路径中都有 libtool 命令:
/opt/local/libexec/gnubin/libtool
和
/usr/bin/libtool
当前命令在macport下识别,这是第一个路径。 如果我希望命令 libtool 从 / usr / bin / libtool 运行而不删除macport路径,我该怎么办?
答案 0 :(得分:0)
PATH
在单个命令的上下文中没有意义。它是按优先级顺序排列的目录列表。如果您希望一个目录优先于另一个目录,请将其放在路径的前面。
然而,有一种间接影响决议顺序的方法;创建一个具有高优先级的目录(即将其放在PATH
的早期版本中)并使用符号链接填充到首选版本的程序,否则这些程序将无法正确解析。
一个自然的选择是/usr/local/bin
,但特别是在OSX上,它(令人尴尬的是恕我直言)的优先级低于开箱即用的/usr/bin
。也许只需将它放在你自己的.bash_profile
中就可以把它放在第一位。或者为此特定目的创建一个专用目录,并将其放在您的路径中。
当然,在您的个人Bash(或其他shell)配置文件中,您还可以简单地创建一个函数或别名,使PATH
完全被绕过。但这通常只对交互式使用有意义。