这是我的脚本
#! /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”。