2017-07-02 160 views
0

我在執行以下腳本片段時遇到了一個問題。將sql輸出重定向到shell腳本中的文件

$ORACLEHOME/bin/sqlplus -s $DBUSER/$DBPASSWORD <<EOF 
    set pages 0 feedback off 
    SELECT * FROM ERR_STG_ROAMING_PARTNER; 

EOF > Err_File.txt 

顯示以下錯誤消息。

./Roaming.sh: line 213: warning: here-document at line 206 delimited by end-of-file (wanted `EOF') 
./Roaming.sh: line 214: syntax error: unexpected end of file 

任何幫助將不勝感激。

回答

3

試試這個:

$ORACLEHOME/bin/sqlplus -s $DBUSER/$DBPASSWORD > Err_File.txt <<EOF 
    set pages 0 feedback off 
    SELECT * FROM ERR_STG_ROAMING_PARTNER; 

EOF 

也就是說,指定輸入定界符之前重定向輸出重定向。 shell期望EOF在終止heredoc的行上獨立運行。

您收到的錯誤消息是shell在發現EOF之前抱怨查找文件結尾(腳本文件)。 EOF用於heredoc分隔符可能會導致一些混淆!

+1

謝謝隊友!很好的幫助! – GSG