解决思路: DOS下文件和Linux下文件格式差异问题导致的. DOS下的文本文件是以\r\n作为断行标志的,表示成十六进制就是0D 0A.而Unix下的文本文件是以\n作为断行标志的,表示成十六进制就是0A. [在windows里,换行用的两个符号,回车\r,换行符号\n,在linux下只需一个符号\n就可以了.] DOS格式的文本文件在Linux下,用较低版本的vi打开时行尾会显示^M,当然也有可能看不到,但是在vi的时候,会在下面显示此文件的格式,"M.txt" [dos] 8L…
SHELL syntax error:unexpected end of file 提示错误 if [ -n "$1" ] then " else " fi exit 执行sh my.sh par 提示syntax error:unexpected end of file.错误请问为什么啊? 文本编辑是在windows下通过记事本编写的这个文件,运行 在cygwin模拟LINUX软件环境下. 解决思路: DOS下文件和Linux下文件格式差异问题导致的. DOS下的…
src:http://www.2cto.com/os/201308/238962.html   执行某bash脚本是发生: syntax error: unexpected end of file 主要问题是由windows下拷出文件到linux下执行的结果,   因为windows某些文件格式与Linux并不是完全兼容,两种方法解决:   1.vim处理   :set fileformat=unix   :wq   2使用dos2unix工具   dos2unix file ---------…
今天写了个较长的shell脚本,结构嵌套比较多,最后运行时,出现了syntax error: unexpected end of file的错误. 这个之前碰到过,经常在win系统转移脚本文件到unix系统时出现,但这次我是在Linux环境中写的,不存在这个问题,改了试也没用.关于系统文件格式转化: dos2unix #command line :set ff #在vim中查看文件的系统格式 :set fileformat=unix #在vim中将系统文件格式改为unix 在网上查了一圈,全部都…
在阅读的过程中有不论什么问题,欢迎一起交流 邮箱:1494713801@qq.com    QQ:1494713801 运行一个脚本full_build.sh 时, 一直是提示我: -bash: ./full_build.sh: /bin/bash^M: bad interpreter: No such file or directory 或提醒  syntax error: unexpected end of file 出现上面错误的原因之中的一个是脚本文件是DOS格式的, 即每一行的行尾以\…
有时执行脚本时会报错: [root@host1 shell]# sh -x test.sh + $'\r' : command not found test.: syntax error: unexpected end of file 原因可能是: 文本编辑是在windows下通过记事本或其它编辑器编写的这个文件,运行 在cygwin模拟LINUX软件环境下. 解决思路: DOS下文件和Linux下文件格式差异问题导致的. DOS下的文本文件是以\r\n作为断行标志的,表示成十六进制就是0D 0…
有时我们在linux下执行一个sh文件,会报错“SYNTAX ERROR:UNEXPECTED END OF FILE”,这个现象主要是工作的系统环境改变造成的. 若最初脚本中是在windows下,使用sublime编辑器写.将shell脚本传至linux中:使用命令bash -x SCRIPT检查语法总是出一个错误 syntax error:unexpected end of file. 原因:dos文件传输到unix系统时,会在每行的结尾多一个^M,在vim的时候,当你用如下命令查看:cat…
引起此问题最可能的原因是: 在windows下编写的文件上传到linux执行. 我是在notepad++上编写的代码,之后上传到linux执行,报此错误.仔细检查,语法方面没有错误.上网查了一下,发现是windows和linux的换行不同导致的. windows中是回车+换行CRLF:linux下是就一个换行LF CR意思是carriage return,回车,\r,ASCII码为13 LF意思是linefeed,换行,\n,ASCII码为10 在notepad++中可以查看:视图-显示符号-显…
问题:  在win下写好的shell脚本,放到Linux上测试sh -n报错如下 ORA_check.sh: line 251: syntax error: unexpected end of file 原因:dos文件传输到unix系统时,会在每行的结尾多一个^M,在vi的时候,当你用如下命令: vi dos.txt:set fileformat=unix:w就会看到这些存在于每行结尾的^M符号,这个就是产生syntax error:unexpected end of file的原因 解决方案…
执行shell脚本如果报如下错误: syntax error near unexpected token `$'\r'' syntax error: unexpected end of file $'\r': command not found 可能原因是写代码是编辑环境是window,或者Linux下的非Linux编码, 可以执行:dos2unix filename   来解决.…