linux环境中替换window换行符为linux换行符

一,错误报文:

bash: $'\r': command not found
bash: $'\r': command not found
bash: $'\r': command not found
/etc/bash.bashrc: line 1: $'return\r': command not found
/etc/bash.bashrc: line 2: $'\r': command not found
/etc/bash.bashrc: line 7: $'\r': command not found
/etc/bash.bashrc: line 18: $'\r': command not found
/etc/bash.bashrc: line 37: $'\r': command not found
bash: $'\E[0': command not found
bash: $'31m\r': command not found
bash: _____: command not found
bash: eval: line 26: syntax error near unexpected token `_'

二,错误原因:

出现的原因是该脚本在window上编辑过,widnow 上文件换行是 \r\n 而 linux上是 \n。
在Windows下换行的“\r”到了Linux环境下不能够识别了,因为Linux环境下默认的换行符为“\n”。

三,解决错误:

此问题解决方式有如下两种:

1,进到脚本中执行

将换行符设置成UNIX的模式

脚本放到linux上 使用 vim 打开,并执行 :set ff=unix 命令 (执行后记得使用 :wq 保存一下)

#=> vim docker-test.sh
#=> :set ff=unix			
#=> :wq
2,借助于dos2unix插件转化功
1)进入Linux环境下安装该组件
apt-get install dos2unix
2)在需实行的目录中执行插件命令
dos2unix *
3)目录中批量替换.py文件中的换行符
sudo find /home/test -name "*.py" | xargs dos2unix
sudo find /home/test -name/* | xargs dos2unix

猜你喜欢

转载自blog.csdn.net/TFATS/article/details/120078166