我错误地.bashrc
使用 Windows 文本编辑器(Notepad++)编辑了我的 WSL(适用于 Linux 的 Windows 子系统)Bash 的文件。
现在,每当我运行 Bash 时都会收到以下错误:
bash:/root/.bashrc:输入/输出错误
我该如何修复这个问题?我尝试使用 Linux 文件结尾 (仅 LF) 进行保存,但没有成功。
答案1
我该如何修复这个问题?我尝试使用 Linux 文件结尾 (仅 LF) 进行保存,但没有成功。
有几种解决方案:
使用 Linux / Ubuntu 应用程序修改这些文件(vim、emacs、nano 等)。
有人说,编辑nano
并重新保存文件可以解决该问题。
如果这不起作用,您可以尝试重新安装的核心选项:
就我的情况而言,什么都无法修复。我使用以下命令删除 BashOnWindows,然后重新安装它:
lxrun /uninstall /full lxrun /install /y
来源使用 ST3 编辑 .bashrc 后,bash 命令对我不起作用
进一步阅读
- WSL 文件系统支持
- 这里是一个很好的白板演讲,介绍了 WSL/LXSS 的工作原理以及为什么编辑/复制文件并将它们移动到 VolFS 挂载点并不总是有效。具体请参见视频中的 15:15
答案2
我找到了一个可以解决我的问题的最小解决方案。我的 WSL 运行的是 Ubuntu。在 Ubuntu 中,有一个原始.bashrc
副本/etc/skel
。
.bashrc
我使用 Windows 资源管理器删除了错误的副本。- 在 Bash 中我复制了原始副本,如下所示:
cp /etc/skel/.bashrc ~/
(基于这个 AskUbuntu 答案:https://askubuntu.com/questions/198730/how-to-restore-bashrc-file)