これは私のスクリプトです。
#! /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 行目: 構文エラー: 予期しないファイルの終わり
私は簡単なものを見逃していることを知っています。シェルスクリプトの新機能です。
答え1
EOF行の先頭に配置する必要があります。それ以外の場合は、bashがEOFと一致しない場合は「space EOF」と表示されます。