一,错误报文:
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