码迷,mamicode.com
首页 > 系统相关 > 详细

执行shell脚本报错:syntax error near unexpected token `或syntax error: unexpected end of file

时间:2017-12-17 15:01:38      阅读:2562      评论:0      收藏:0      [点我收藏+]

标签:shell脚本   img   crlf   notepad++   技术分享   span   nta   style   代码   

引起此问题最可能的原因是:

在windows下编写的文件上传到linux执行。

我是在notepad++上编写的代码,之后上传到linux执行,报此错误。仔细检查,语法方面没有错误。上网查了一下,发现是windows和linux的换行不同导致的。

windows中是回车+换行CRLF;linux下是就一个换行LF

CR意思是carriage return,回车,\r,ASCII码为13

LF意思是linefeed,换行,\n,ASCII码为10

在notepad++中可以查看:视图-显示符号-显示行尾符,效果如下:

技术分享图片

要想在linux下运行,需要将其变为UNIX格式文件:编辑-文档格式转换-转为UNIX格式,效果如下:

技术分享图片

之后再上传到linux下运行就没问题了。

 

或者可以使用linux工具将文件转换为UNIX文件:dos2unix文件名

 另外,出现syntax error: unexpected end of file错误,也可能是语法错误引起的。使用sh -n 文件名检查哪里出现语法错误。

 

执行shell脚本报错:syntax error near unexpected token `或syntax error: unexpected end of file

标签:shell脚本   img   crlf   notepad++   技术分享   span   nta   style   代码   

原文地址:http://www.cnblogs.com/ZTPX/p/8051924.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!