昨天在登陆云服务器时候报错。
-bash: $'\r': command not found
-bash: $'\r': command not found
-bash: $'\r': command not found
-bash: /etc/profile: line 11: syntax error near unexpected token `$'{\r''
'bash: /etc/profile: line 11: `pathmunge () {
后面发现是自己傻逼的把profile在windows上写了传上去的。
用/bin/cat -v /etc/profile看到很多^M,是因为Windows下的换行符的原因。
现在在linux下面删了就行,我用的第一种方法。
第一种方法(先yum install -y dos2unix):
cat -A filename 就可以看到windows下的断元字符 ^M
要去除他,最简单用下面的命令:
dos2unix filename
第二种方法:
sed -i 's/^M//g' filename
注意:^M的输入方式是 Ctrl + v ,然后Ctrl + M
第三种方法:
vi filename
:1,$ s/^M//g
^M 输入方法: ctrl+V ,ctrl+M
第四种方法:
cat filename |tr -d ‘/r’ > newfile
^M 可用 /r 代替
本文介绍了在Linux环境中遇到的由于使用Windows编辑器修改profile文件而导致的错误,并提供了四种有效的解决方法,包括安装并使用dos2unix工具、利用sed命令进行替换、通过vi编辑器批量删除错误字符以及采用cat与tr命令组合实现。
3606

被折叠的 条评论
为什么被折叠?



