WSL2下编辑/usr/bin/bash出现乱码,无法应用WSL2 Hacks的问题求助
解决WSL2中编辑/usr/bin/bash出现乱码的问题
哦,我完全懂你碰到的状况!你看到的那些奇怪符号根本不是乱码——/usr/bin/bash本身是二进制可执行文件,不是纯文本脚本,就像你用记事本打开Windows的exe文件会看到一堆乱码一样,用普通文本编辑器打开它自然会显示这些看不懂的字符!
要实现wsl2-hacks里的功能,根本不需要编辑这个二进制文件,正确的做法是创建一个bash的包装脚本(wrapper),让系统先执行这个脚本,再调用真正的bash。具体步骤如下:
- 先备份原来的bash二进制文件,防止操作失误:
sudo mv /usr/bin/bash /usr/bin/bash.bin - 用文本编辑器(比如nano)创建新的/usr/bin/bash脚本:
sudo nano /usr/bin/bash - 在这个新文件里,先写入你需要的hack代码,最后再调用真正的bash。比如参考wsl2-hacks里的配置,示例内容如下:
#!/usr/bin/bash.bin # 在这里添加你需要的WSL2 Hack代码,比如: # 自动添加Windows系统目录到PATH # export PATH="/mnt/c/Windows/System32:$PATH" # 或者其他内存优化、挂载相关的配置 # 最后调用真正的bash,保留所有传入的参数 exec /usr/bin/bash.bin "$@" - 保存退出nano(按
Ctrl+O,回车确认,再按Ctrl+X),然后给这个脚本添加可执行权限:sudo chmod +x /usr/bin/bash - 现在打开新的终端测试一下,应该就能正常运行,并且你的hack配置也会生效。
要是之后想恢复原来的bash,只需要把备份的文件移回去就行:
sudo mv /usr/bin/bash.bin /usr/bin/bash
内容的提问来源于stack exchange,提问作者h00jraq
相关产品推荐
相关产品推荐

