2015-11-04 218 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