我正在尝试在服务器上的脚本下运行,但是却遇到第15行:ERROR ::命令未找到。这是脚本。 EOF的声明是第15行

#!/bin/bash


/opt/oracle/products/dbclient/sqlplus -S -L username/us3r_mdpI14@servicename <<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行:ERROR ::找不到命令

最佳答案

第一。确保服务器上已安装sqlplus。没有它,您将永远无法运行它。

第二。通过运行sqlplus检查哪些可执行文件which sqlplus调用。可执行文件可能位于$PATH之外的位置。
sqlplus替换为脚本中which sqlplus的完整输出。

如果确定已安装sqlplus并且which sqlplus没有返回任何有用的信息,则可能只需要搜索文件即可。我不知道可能在哪里,但是sqlplus docs和find命令可能会有所帮助。

关于sql - Linux脚本问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33528647/

10-14 01:59