为什么在 OSX 的 $PATH 中找不到应用程序中的符号链接?
Why isn't symlink in application being found in $PATH in OSX?
我一直对 OSX 环境变量有些犹豫,但我认为,只要 /usr/local/bin
在我的 $PATH
中,该文件夹中的所有内容可用作 shell.
中的命令
这似乎没有发生。 $ echo $PATH
给我:
/Users/[username]/.nvm/versions/node/v0.12.7/bin:/usr/local/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
我的 /usr/local/bin
文件夹包含指向应用程序的符号链接;我们称它为 some-application
。但是在 shell 中输入 some-application
会产生经典的 bash 错误:
-bash: some-application: command not found
这是我的一个简单错误。我使用错误的 link 位置创建了 symlink:
$ ln -s /some/non-existent/location/some-application /usr/local/bin/some-application
创建这个 'link' 没有错误。 symlink 名称是 bash 错误中使用的名称,掩盖了它无法找到原始位置的事实,而不是 link.
对我来说,我本来希望在创建 link 时会抛出错误,或者至少 bash 会详细说明无法解析的路径。像这样:
-bash: /some/non-existent/location/some-application: No such file or directory
哦,好吧。案件结案。
P.S
任何关于它为何如此行为的线索都可能对我自己和其他人有所帮助。
我一直对 OSX 环境变量有些犹豫,但我认为,只要 /usr/local/bin
在我的 $PATH
中,该文件夹中的所有内容可用作 shell.
这似乎没有发生。 $ echo $PATH
给我:
/Users/[username]/.nvm/versions/node/v0.12.7/bin:/usr/local/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
我的 /usr/local/bin
文件夹包含指向应用程序的符号链接;我们称它为 some-application
。但是在 shell 中输入 some-application
会产生经典的 bash 错误:
-bash: some-application: command not found
这是我的一个简单错误。我使用错误的 link 位置创建了 symlink:
$ ln -s /some/non-existent/location/some-application /usr/local/bin/some-application
创建这个 'link' 没有错误。 symlink 名称是 bash 错误中使用的名称,掩盖了它无法找到原始位置的事实,而不是 link.
对我来说,我本来希望在创建 link 时会抛出错误,或者至少 bash 会详细说明无法解析的路径。像这样:
-bash: /some/non-existent/location/some-application: No such file or directory
哦,好吧。案件结案。
P.S
任何关于它为何如此行为的线索都可能对我自己和其他人有所帮助。