没有完整路径,找不到 Mac OS X 10.6 可执行文件

没有完整路径,找不到 Mac OS X 10.6 可执行文件

我刚刚通过 MacPorts 安装了 Apache。看来我的 Mac 完全搞不清楚应该运行哪个版本的 Apache 可执行文件。

将 Mac 附带的 Apache 可执行文件移动到变量中未列出的目录后PATH,尝试运行httpd由 MacPorts 构建的程序会失败,即使变量/opt/local/apache2/bin中列出了正确的目录 () PATH

如果我导航到目录/opt/local/apache2/bin并输入命令,httpd我仍然会收到错误消息

-bash:httpd:未找到命令

如果我输入带有完整路径的命令,/opt/local/apache2/bin/httpd它可以正常工作。

我已经运行命令alias来查看是否发生了冲突,但唯一列出的是:

alias wget='curl -O'

即使我在同一个目录中,我如何找到拦截命令并阻止在目录中找到可执行文件的内容?

顺便说一下,该httpd文件是可执行的:

-rwxr-xr-x  1 root      admin  442496  9 May  2012 httpd

答案1

很简单。当前目录永远不会属于PATH。因此,即使您在 内/opt/local/apache2/bin,您也不能简单地键入,httpd因为 Bash 只会在您的 中查找PATH

因此,您必须./httpd在这里输入。

要让 Bash 在 MacPorts Apache 目录中查找可执行文件,请将以下内容添加到~/.bash_profile

export PATH=/opt/local/apache2/bin:$PATH

这还将导致该目录中的二进制文件优先于稍后出现的任何其他具有相同名称的二进制文件——PATH请使用 进行检查which -a httpd

相关内容