2014-11-12 3 views
0

스크립트를 실행하려고하면 오류 줄 45이 나옵니다. 구문 오류 : 예기치 않은 파일 끝입니다. 나는 스크립팅에 비교적 익숙하다. 해결하도록 도와주세요.행 45 : 구문 오류 : 예기치 않은 파일 끝

#!/bin/ksh 

set -xv 

export HOME=/home/mine 


. $HOME/.env.ksh 



BIS_SPOOL=/tmp/bis_table_mine.spl 
BIS_REPORT_MINE=/tmp/bis_table_report_mine.txt 

touch $BIS_SPOOL 
rm $BIS_SPOOL 
touch $BIS_SPOOL 

     exec 5< $BIS_REPORT_MINE 

     while read -u5 REC_MINE 
     do 
      TBLENAME=`echo "$REC_MINE" | awk '{print $3}' | tr '[:upper:]' '[:lower:]'` 

      sqlplus -s ${USER_ID}/${USER_PASS}@${ORACLE_SID} <<- EOF 
      set feedback off 
     set hea ON 
     set pagesize 9999 
     set linesize 9999 
     set trimspool ON 
     set termout off 
     spool $BIS_SPOOL append 
     Column C1 Heading   'Job Name'    Format a30 
      Column C2 Heading   'Table Name'    Format a30 
      SELECT job_name C1, 
       table_name C2, 
      FROM table_usage 
      WHERE table_name like 'TBLENAME%' 
     /
      exit; 
      EOF 
done 

    exec 5<& - 
+1

끝 'EOF'는 들여 쓰기하지 않아야합니다. 일반적으로 모든 코드를 들여 쓰고 http://www.shellcheck.net을 사용하는 것이 좋습니다. – Biffen

+0

어떤 오류가 발생했는지 구체적으로 게시 할 수 있습니까? – Mike

+0

안녕 마이크,이 정확한 오류입니다 줄 45 : 구문 오류 : 예기치 않은 파일 끝 – Harsha

답변

0

<<- EOS은 문자 그대로 해석됩니다. 확인하십시오.

sqlplus -s ${USER_ID}/${USER_PASS}@${ORACLE_SID} <<-EOF 

공백없이.

EOS의 전후에 공백 문자가 없는지 확인해야하지만 선두 탭 문자는 허용됩니다.

IHTH