SHELL脚本“SYNTAX ERROR:UNEXPECTED END OF FILE”解决方案

原创 2017年08月05日 15:07:37

今天,自己在写一个一键安装http服务的脚本时,使用if语句编写,用bash -x 命令你给调试,都报错“SYNTAX ERROR:UNEXPECTED END OF FILE”,怎么改动都会报错,通过google,发现自己的错误了。

1、在最初脚本中是在windows下,使用sublime编辑器写。
将shell脚本传至linux中:使用命令bash -x SCRIPT 检查语法总是出一个错误 syntax error:unexpected end of file。

原因如下:

dos文件传输到unix系统时,会在每行的结尾多一个^M,在vim的时候,当你用如下命令查看:cat -A SCRIPT
示例:
[root@localhost~]#cat -A installhttp.sh

#!/bin/bash^M$
#The script is autoinstallhttp.sh^M$
#Author Joah^M$
#Version 1.0.0^M$
version=`grep -o " [0-9]\>" /etc/centos-release`^M$
if [ $version -eq 7 ];do^M$
echo "We will install newversion.Please wait!"^M$

2、解决方法
使用命令dos2unix命令将SCRIPT脚本格式

[root@localhost~]#dos2unix installhttp.sh 
dos2unix: converting file installhttp.sh to UNIX format ...

或者:
[root@localhost/app]#vim installhttp.sh
:set fileformat=unix
:wq
[root@localhost/app]#cat -A installhttp.sh

$
$
#/bin/bash$
#$
#The script is autoinstallhttp.sh$
#Author Joah$
#Version 1.0.0$
version=`grep -o " [0-9]\>" /etc/centos-release$

解决执行脚本报syntax error: unexpected end of file或syntax error near unexpected token `fi'错误的问题

我们在编辑Linux服务器上的文件时,如果直接在Linux环境下编辑的话,比较麻烦,大段粘贴格式比较乱,还得自己一行一行去调整,因此会选择用编辑器来编辑我们Linux环境下的文件,我用的是NodePa...
  • u012453843
  • u012453843
  • 2017-04-09 12:25:22
  • 11155

linux下执行sh出现异常"syntax error: unexpected end of file"

昨天天在windows系统上用notpad++编写linux shell脚本,当传送到linux上执行时一直报错说“syntax error: unexpected end of file”,然后我同...
  • pml18710973036
  • pml18710973036
  • 2017-03-30 09:11:13
  • 5014

SHELL脚本“SYNTAX ERROR:UNEXPECTED END OF FILE”解决方案

今天,自己在写一个一键安装http服务的脚本时,使用if语句编写,用bash -x 命令你给调试,都报错“SYNTAX ERROR:UNEXPECTED END OF FILE”,怎么改动都会报错,通...
  • Joah_li
  • Joah_li
  • 2017-08-05 15:07:37
  • 2103

Linux下面运行shell脚本出现unexpected end of file错误

在Linux下运行shell脚本,报错 stop.sh: line 12: syntax error: unexpected end of file 使用vim打开脚本,执行命令: ...
  • daydayupzzc
  • daydayupzzc
  • 2016-01-28 16:00:21
  • 10651

解决shell错误:syntax error: unexpected end of file

很久没有用bash的shell来编写shell复杂脚本了,今天在combo-ew的项目中,在各项测试基本上都通过之后,试图编写一个脚本,用来将tftp服务器上的驱动、应用程序和配置文件下载到combo...
  • David_xtd
  • David_xtd
  • 2012-05-17 18:46:42
  • 45550

修改文件.bash_profile后报错 /home/tomcat/.bash_profile: line 18: syntax error: unexpected end of file

今天修改linux服务器编码,修改i18n文件编码后,用root用户查看locale,显示 zh_CN.UTF-8,但是用tomcat用户查看locale,显示eh_CN.UTF-8        ...
  • afei3418
  • afei3418
  • 2016-05-18 23:17:35
  • 2127

SHELL syntax error:unexpected end of file 提示错误

if [ -n "$1" ] then   echo "111" else   echo "222" fi exit 0 执行sh my.sh par 提示syntax error:...
  • zhuying_linux
  • zhuying_linux
  • 2012-07-11 14:26:57
  • 69733

syntax error: unexpected end of file解决方法

在windows环境下编辑的脚本通过Xftp上传到linux系统执行的时候会提示syntax error: unexpected end of file,脚本并没有错误。原因是:在Windows环境下...
  • lzhj2g
  • lzhj2g
  • 2015-03-23 22:35:20
  • 8561

shell错误一例 syntax error: unexpected end of file

昨天写个脚本,用shell读取文本文件,并且在循环中使用读取的信息。 循环很正常,获取,展示也很正常,只是在加上mysql xxxx (好几行)的时候,报错“syntax error: unexpe...
  • edwzhang
  • edwzhang
  • 2013-04-23 10:01:13
  • 1517

linux shell 环境下unexpected end of file的错误解决

warning: here-document at line 5 delimited by end-of-file (wanted `EOF')  syntax error: unexpected ...
  • lepton126
  • lepton126
  • 2017-04-19 09:16:59
  • 2582
收藏助手
不良信息举报
您举报文章:SHELL脚本“SYNTAX ERROR:UNEXPECTED END OF FILE”解决方案
举报原因:
原因补充:

(最多只允许输入30个字)