执行shell脚本报错:syntax error near unexpected token `或syntax error: unexpected end of file
Posted 葬瞳飘血
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了执行shell脚本报错:syntax error near unexpected token `或syntax error: unexpected end of file相关的知识,希望对你有一定的参考价值。
引起此问题最可能的原因是:
在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脚本报错Syntax error: “(“ unexpected
执行shell脚本报错:syntax error near unexpected token `或syntax error: unexpected end of file
linux的shell脚本报错“syntax error near unexpected token `”的解决
shell编程报错:“syntax error near unexpected token `”
shell 报错:syntax error: unexpected end of file
编写简单的shell脚本 - for循环 - 解决报错 Syntax error: Bad for loop variable