有时执行脚本时会报错: [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…
问题:  在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: unexpected end of file的错误. 这个之前碰到过,经常在win系统转移脚本文件到unix系统时出现,但这次我是在Linux环境中写的,不存在这个问题,改了试也没用.关于系统文件格式转化: dos2unix #command line :set ff #在vim中查看文件的系统格式 :set fileformat=unix #在vim中将系统文件格式改为unix 在网上查了一圈,全部都…
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 ---------…
0.前言 通常我们在编辑 Linux 服务器上的文件时,直接在 Linux 环境比较麻烦(当然熟练使用 VIM 的程序员除外哈哈),有时我们会使用 Windows 将文件编辑好再上传到服务器端,我用的是 Sublime text . 1.问题描述与记录 编辑完脚本上传到服务器运行时,会出现语法错误,以下面的一小段脚本为例 #!/bin/bash echo "updatedb..." sudo updatedb BASE_PATH=$(dirname $(locate $0)) echo…
引起此问题最可能的原因是: 在windows下编写的文件上传到linux执行. 我是在notepad++上编写的代码,之后上传到linux执行,报此错误.仔细检查,语法方面没有错误.上网查了一下,发现是windows和linux的换行不同导致的. windows中是回车+换行CRLF:linux下是就一个换行LF CR意思是carriage return,回车,\r,ASCII码为13 LF意思是linefeed,换行,\n,ASCII码为10 在notepad++中可以查看:视图-显示符号-显…
有时我们在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…
执行shell脚本如果报如下错误: syntax error near unexpected token `$'\r'' syntax error: unexpected end of file $'\r': command not found 可能原因是写代码是编辑环境是window,或者Linux下的非Linux编码, 可以执行:dos2unix filename   来解决.…
用shell编写的一个脚本,执行的时候报错:syntax error: unexpected end of file! 发生这种报错有两种原因: 第一种: 如果你是用 windows 系统编写的脚本,那么就有可能是 fileformat 类型不同!可能是 fileformat=dos ,那么你需要把格式修改为unix,方法是直接输入 :set ff=unix,输入完成后回车即可看到:fileformat=unix 第二种: 如果你是用 Linux 系统编写的 shell 脚本,在 vim 的命令…