WSL出现/usr/bin/env: ‘bash\r’: No such file or directory异常

1,093 阅读1分钟

这个异常是因为行尾符号不兼容导致的,比如Windows的行尾符号\r,Unix的行尾符号是\n,如果实在写shell文件,可以在IDE中修改Line Separator,或者在命令行使用sed -i $'s/\r$//' filename

在使用WSL中更新了pyenv,出现了/usr/bin/env: ‘bash\r’: No such file or directory的异常,pyenv命令无法使用,其他命令的返回后面,也会跟着这个异常。

卸载重装pyenv、重启wsl都无法解决。

原因是pyenv的项目改用了CRLF(\r\n)的行尾,需要将项目中的文件手动改为LF,即\n

使用命令:

find . -type f -exec dos2unix {} +

dos2unix命令可以通过apt install dos2unix来安装。