'usr/bin' 不包含在路径环境中

Dan*_*iel 1 unix linux bash terminal

每当我启动新终端并尝试运行命令时,都会收到此错误。我发现可以使用 export PATH=/usr/bin:/bin 来解决这个问题,但必须为我打开的每个终端完成此操作。在 etc/environment 文件中,路径是正确的,因此我不明白出了什么问题。(但是在我向 bashrc 和路径添加了一些行以获取 ruby​​、rails 、 git 的一些快捷方式后,出现了此错误;(如下Coursera 上的课程))。如何解决这个问题?

Jac*_*ken 6

这里发生的事情是你破坏了你的 PATH 变量。您的 PATH 非常重要,每当您输入命令时,您的 shell(通常是 bash)都会检查 PATH 中指定的每个目录中是否有同名的程序。

路径中指定的每个目录都用冒号分隔:,最小的 PATH 变量通常类似于/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin.

export PATH=/usr/bin/git当您的末尾有该行时,.bashrc您就告诉 shell 您只想搜索/usr/bin/git命令。

相反,该行将export PATH="$PATH:/usr/bin/git"告诉您的 shell 搜索先前在 shell 中指定的所有目录,然后搜索/usr/bin/git.

另一件需要注意的事情是,您的 shell 将按照指定的顺序搜索 PATH 中的目录,并使用找到的第一个匹配命令,因此 PATH 中指定目录的顺序也很重要。

  • 还值得注意的是 PATH. 包含目录,但 `/usr/bin/git` 可能是可执行文件,而不是目录。 (2认同)