You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

树莓派OS下~/.bashrc文件执行报错:$'\r': command not found及unexpected end of file排查求助

解决树莓派.bashrc中的$'\r'错误与Unexpected EOF问题

看起来你遇到的问题根源其实不是语法错误,而是换行符格式不兼容导致的!

问题原因

你的.bashrc文件使用了Windows风格的换行符(CRLF,即\r\n),但树莓派OS是Linux系统,默认使用Unix风格换行符(LF,即\n)。bash会把Windows换行符里的\r字符当成一个独立的命令执行,所以才会弹出$'\r': command not found的错误;同时这种异常的换行符会干扰bash对脚本语法的解析,哪怕文件末尾看起来正常,也会触发unexpected end of file的报错。

修复步骤

方法1:用dos2unix转换(推荐)

dos2unix是专门用来转换Windows与Unix换行符的工具,先安装(如果没装的话):

sudo apt update && sudo apt install dos2unix

然后转换你的.bashrc文件:

dos2unix ~/.bashrc

方法2:用sed手动移除\r字符

如果不想安装工具,也可以用sed命令直接替换掉文件里的\r:

sed -i 's/\r$//' ~/.bashrc

验证修复结果

转换完成后,你可以用以下命令查看文件的换行符格式:

cat -A ~/.bashrc

如果每行末尾只有$(代表Unix风格的LF换行符),而没有^M$(代表Windows风格的CRLF换行符),就说明修复成功了。之后重新加载.bashrc:

source ~/.bashrc

应该就不会再报错了。

后续注意事项

这个问题通常是因为你在Windows系统下编辑了.bashrc文件,然后传到树莓派上导致的。建议后续编辑Linux配置文件时,要么直接在树莓派上用nano/vim编辑,要么使用支持切换换行符格式的编辑器(比如VS Code可以在右下角的状态栏切换为LF格式后再保存)。

内容的提问来源于stack exchange,提问作者Ciro García

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 23:07:33