shell 脚本中出现意外的文件结尾

shell 脚本中出现意外的文件结尾

这是我的脚本

#! /bin/sh

source=/Source/$1
destination=/Destination
folderParam=$(basename $source)
if /usr/bin/rsync -avh -r $source $destination; then
   cp /FolderCopyStatus/Success   /Status/Success_$folderParam;
   mysql -h ip -uroot -ppassword  << EOF
   use oct_test;
   insert into Test(Name,Value,Status) values('rsync',$folderParam,'Ok');
   EOF
else
   cp /FolderCopyStatus/Failure   /Status/Failure_$folderParam;
   mysql -h ip  -uroot -ppassword  << EOF
   use oct_test;
   insert into Test(Name,Value,Status) values('rsync',$folderParam,'Fail');
   EOF
fi

错误和警告

/FinalSync.sh:第 18 行:警告:此处文档在第 8 行由文件结尾分隔(需要“EOF”) /FinalSync.sh:第 19 行:语法错误:意外的文件结尾

我知道我缺少一件简单的事情。shell 脚本新手。

答案1

EOF应放置在行首。否则 bash 不匹配 EOF,它会看到“空格 EOF”。

相关内容