问题描述
运行shell脚本shell脚本,运行出错:syntax error near unexpected token $’do\r 或者 syntax error near unexpected token $'in\r
我们先看看这三个者有何区别。很久以前,人们用老式的电传打字机作为输入设备,它使用两个字符来另起新行。一个字符把滑动架移回首位 (称为回车: ,另一个字符把纸上移一行(称为换行: )
三种行尾格式如下:
unix为: <LF> : /n
dos为: <CR><LF> : /r/n
mac为: <CR> : /r
问题原因:Linux和windows下的回车换行符不兼容
在windows上可以用文本编辑器查看所有字符,例如notepad++,视图->显示符号->显示所有符号,如下:
用文本编辑器解决办法,eclipse等编辑器都可以解决,拿notepad++来说,编辑->档案格式转换->转换为UNIX格式:
再放到linux上运行就不会出现以上报错了。