参考在京奋斗者的博客,网址:https://blog.csdn.net/u012453843/article/details/69803244
windows下书写的Notepad++等书写的xx.sh脚本,在传递到unix或者Linux服务器上之后,之后运行脚本,会提示:
syntax error: unexpected end of file错误
shell脚本执行错误 $'\r':command not found
原因就是:dos/window下按一次回车键实际上输入的是“回车(CR)”和“换行(LF)”,而Linux/unix下按一次回车键只输入“换行(LF)”,所以修改的sh文件在每行都会多了一个CR,所以Linux下运行时就会报错找不到命令。
解决方案是,首先,我们可以看看当前脚本.sh的格式是dos。
vim xx.sh ,按住Esc,输出: :set ff ,,之后回车,可以看到当前的脚本格式为dos.
我们需要更改格式为unix。方法是: set ff=unix 或者set fileformat=unix 即可。之后通过:set ff回车查看。