我弄乱了我的路径变量,现在我运行的一些应用程序会引发错误未找到命令(错误 127)对于类似的命令日期和睡觉。这些命令在 shell 中直接执行时可以正常工作。
我猜这与格式错误的 $PATH 变量有关,需要知道如何重置它。我已删除了这些文件~/.bashrc,的〜/ .bash_profile,/etc/bash.bashrc, 和~/.bashrc和〜/ .profile。
还有哪些文件可以保存我的$PATH? 除了深入研究可以保存我的路径的无数文件之外,有没有更简单的方法来重置路径?
注意,此路径问题仅与我的用户有关。我在系统上创建了一个测试用户,路径没有问题,恢复正常。
更新:谢谢。我不知道我删除了哪个文件,但一切又恢复正常了。你们做到了“专家”做不到的事情。是的,克里斯,你是对的。我所做的 PATH 自定义是在 bash_login 中。但不知何故,它工作正常,而我并没有删除这些自定义。我想这可能是因为我使用了名为“RCEnvironment”的 prefpane,并且我输入了带有引号和 :PATH 的路径。我不知道它是否接受引号,并且它不会替换 :$PATH,所以这可能是错误的根源。我甚至忘了我还有那个 prefpane!
答案1
如果您有 ~/.MacOSX/environment.plist 文件,请检查它是否提供了默认 PATH 值。
如果是 XML 格式(plists 有多种格式),你可以用任何文本编辑器进行编辑。plutil -lint ~/.MacOSX/environment.plist
如果你手动编辑,请使用以下工具进行检查。
或者,您可以使用以下命令默认值或者PlistBuddy对 XML 或二进制格式的 plist 文件进行受控修改。
您始终可以在任何 shell 的初始化文件中设置自己的 PATH。
.bashrc
在你的 shell 的启动文件 ( ,或.bash_profile
/ .bash_login
/ .profile
)中放入类似下面的内容:
PATH=/usr/bin:/bin:/usr/sbin:/sbin
export PATH
# add custom, local installations to PATH
PATH=/usr/local/bin:/usr/local/sbin:"$PATH"
# add MacPorts to PATH
PATH=/opt/local/bin:/opt/local/sbin:"$PATH"
这将覆盖 shell 启动时设置的任何默认 PATH(第一个PATH=
不使用$PATH
,因此它将始终以您提供的内容启动)。
只有一个“登录”文件会被使用(第一个存在且可读取的文件~/.bash_profile
,,~/.bash_login
和~/.profile
将被使用)。.profile
是为了向后兼容其他shell——如果你使用它,一定要让它远离特定于狂欢。如果您使用.bash_login
或.bash_profile
(除了名称之外,它们的功能相同),则使用靠近顶部的一行,[[ -e ~/.bashrc -a -r ~/.bashrc ]] && source ~/.bashrc ]]
以便登录 shell 也能获得您在中进行的自定义.bashrc
。
如果您希望狂欢具有相同的 PATH,则使用.bashrc
。如果您经常发现自己从命令行交互地修改单个 shell 的 PATH,并希望在子 shell 中使用该修改后的 PATH(这种情况可能并不常见),那么您应该将语句放在其中一个“登录”文件中。只挑选一个登录文件并使用它。
答案2
1.打开你的终端
2.您可以先检查当前$PATH
的
回显 $PATH
到终点站
3.如果$PATH
终端返回的是你想要的路径,那么就没问题了;如果不是,请输入
导出 PATH=/usr/bin:/bin:/usr/sbin:/sbin
,然后输入
触摸〜/ .bash_profile
,然后输入
打开 ~/.bash_profile
,然后你会发现一个 EditText 打开了,现在在那个 EditText 中输入你想要的路径;例如,输入
PATH=/usr/bin:/bin:/usr/sbin:/sbin
(这是 Mac 的默认设置$PATH
,考虑到您想要重置,$PATH
所以您可能应该输入这个),保存它,然后关闭 EditText,然后关闭终端。
4.现在您已经更改$PATH
或重置为 Mac 的默认设置$PATH
!
答案3
如果您使用 ZSH - 当您重新启动终端会话时,路径变量似乎会恢复。
答案4
所示的Chris Johnson 的rc/profile
编辑在 中也能很好地运行/etc/profile
。
我刚刚附加:
export PATH="/usr/local/mariadb/bin:$PATH"
到我的/etc/profile
Mac OS X 10.9 Mavericks 文件中来完成 MariaDB 的安装(它可以作为 MySQL 的绝佳替代品)。