쉘 스크립트에서 예기치 않은 파일 끝이 발생했습니다.

쉘 스크립트에서 예기치 않은 파일 끝이 발생했습니다.

이건 내 스크립트야

#! /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"가 표시됩니다.

관련 정보