解决:“syntax error near unexpected token `$‘in\r‘‘

  • Post author:
  • Post category:其他


问题描述

运行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上运行就不会出现以上报错了。



版权声明:本文为weixin_44869866原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。