シェルスクリプトで予期しないファイルの終わりが発生しました。

シェルスクリプトで予期しないファイルの終わりが発生しました。

これは私のスクリプトです。

#! /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」と表示されます。

おすすめ記事