如何编辑损坏的 bash 配置文件

How to edit corrupted bash profile

我导出的 PATH 在我的 bash 配置文件中不正确,我无法再打开它进行编辑。更糟糕的是,我的终端因此基本上完全坏了。

如果我运行vim ~/.bash_profile

我收到以下错误:

-bash: vim: command not found

-bash: sed: command not found

如果我尝试使用像 ls 这样的命令,我会得到:

-bash: ls: command not found

-bash: sed: command not found

如果我无法编辑我的 bash 个人资料,我该如何修复它?

您的终端没有损坏,bash 只是丢失了,因为它正在使用您保存在 ~/.bash_profile 中的损坏的 PATH 变量。因此,当您重新加载(源)您的配置时,bash 只是从同一个损坏的 PATH 中重新读取。

要修复它,您必须编辑配置或替换文件。

与此同时,您可以从命令行为当前 shell 会话暂时恢复(可能)您的默认 PATH: PATH="/bin:/sbin:/usr/local/bin:/usr/bin:/usr/sbin:"

否则,您必须包括您输入的每个命令的完整路径(如上所述),因为 bash 不再知道要在哪些目录中查找这些程序(命令)。

尝试/usr/bin/vim ~/.bash_profile打开文件进行编辑。 如果您想改为删除文件,请尝试:/bin/rm ~/.bash_profile 但不要忘记替换它!

一旦你成功地编辑或替换了文件,你需要获取它的源代码以便它随 bash 的每个新实例一起加载:. ~/.bash_profile.

此外,最好将您的配置放在 ~/.bashrc 文件中,尽管这不会阻止相同情况的发生。