2015-11-04 213 views
-1

我想在服務器上的腳本下運行,但我得到第15行:找不到錯誤::命令。這是腳本。 EOF`statement是15號線Linux腳本問題

#!/bin/bash 


/opt/oracle/products/dbclient/sqlplus -S -L username/[email protected] <<EOF 
set feedback off trimspool on 
spool /home/cznygf/scripts/home/mdpi/catchallreport/proc/catchall.txt 
select ORDER_NUM, MODEL_YEAR, PORT, MDPI_PURCHASE_ID, TO_CHAR(RESERVED_DATE ,'DD-MON-YYYY HH24:MM') RESERVED_DATE, 
TO_CHAR(SYSDATE, 'DD-MON-YYYY HH24:MM') SYSTEM_DATE, 
trunc(24 * (SYSDATE - RESERVED_DATE)) DIFF_HOURS 
from INVENTORY_NEW 
where PURCHASED is null 
and trunc(24 * (SYSDATE - RESERVED_DATE)) > 1; 
spool off; 
EXIT 
EOF 

線15:錯誤::找不到

+2

你顯然在服務器上缺少'sqlplus'。 –

+2

......或者至少在你的'$ PATH'中。 – Mureinik

+1

首先,確認您的服務器上已安裝sqlplus。然後,確保它在執行腳本的用戶的PATH中。 –

回答

2

第一個命令。確保你在服務器上安裝了sqlplus。沒有這個,你永遠不會得到這個。

二。通過運行which sqlplus檢查可執行文件sqlplus。可能該可執行文件位於不在$PATH中的位置。 在您的腳本中將sqlplus替換爲which sqlplus的完整輸出。

如果您確定安裝了sqlplus,並且which sqlplus沒有返回任何有用的內容,您可能只需要搜索該文件。我不知道它可能在哪裏,但sqlplus文檔和find命令可能會有所幫助。

+0

哦,嗯,我會更新我的答案澄清 – dan08