修改 ~/.bashrc 文件后,终端没有输出

修改 ~/.bashrc 文件后,终端没有输出

我的终端图像:

在此处输入图片描述

在此处输入图片描述

我正在使用带有 WSL 的 Ubuntu,无法访问 GUI。

上述我的终端图片显示,无论我输入什么,都没有输出。终端就像一个编辑器。在我编辑 PS1 变量后,发生了这种情况。我想恢复此操作。

答案1

很高兴您能够摆脱它。将来,由于您正在使用 WSL,请记住您还可以使用以下恢复选项。

从 PowerShell、CMD 或“开始”菜单:

wsl -e bash --norc --noprofile

这将启动 WSL 并执行 Bash,而不处理任何启动文件,例如~/.bashrc(和其他)。从那里,您可以检查和修复任何启动文件或其他问题。这通常是此类问题的最佳恢复机制。

你甚至可以.bashrc不用启动 shell 直接编辑你的文件:

wsl -d Ubuntu20.04_WSL2 -e editor /home/<username>/.bashrc

注意:该editor命令会映射到 Ubuntu 上的“首选编辑器”(nano默认情况下)。在某些其他发行版中,您可能需要指定编辑器名称本身(例如vi)。您可以使用 更改默认编辑器sudo update-alternatives --config editor

最后:

wsl -u root

这将以 root 用户身份访问 WSL,然后您可以在其中编辑用户文件。请注意,如果/etc/profile(或.d子目录) 中出现错误,则此操作仍然不起作用,因为 root 用户将遇到相同的错误。这就是我倾向于选择该选项的原因--noprofile --norc

另外,从评论中可以看出:

我无法打开 bashrc

有两个选择:

  • 正如@terdon 在评论中提到的,您至少可以使用 Windows 中的文件资源管理器导航到该文件来查看\\wsl$\Ubuntu\home\<username>\(或者您正在使用的发行版名称,它可能有一个版本号)。

    请注意,我不建议編輯使用 Windows 应用程序打开文件,除非您确定该应用程序会遵守 Linux/Unix 行尾。某些应用程序(例如旧版本的记事本)会通过将行尾更改为 DOS/Windows CRLF 来“破坏”文件(至少从 Bash 的角度来看)。

  • 或者,从 PowerShell:

    wsl -e cat /home/<username>/.bashrc | clip.exe
    

    这会将其直接复制到剪贴板,以便您下次可以将任何相关部分粘贴到您的问题中。

请不要发布文本图片。只需将文本直接复制/粘贴到您的问题中即可

您也可以直接在终端中突出显示屏幕截图中的文本,然后将其粘贴到问题中。

我会仍然要求您这样做(如果您尚未完全修复错误),因为这可能有助于其他人在搜索网络时找到您的问题。当然,图像通常不会被编入索引。请参阅这里由于其他原因,当文本即可满足要求时,我们要求您避免使用屏幕截图。

答案2

按 Ctr+C 将解决该问题。

相关内容