2014-09-02 50 views
0

下面的脚本运行时存储在文件的MyScriptSQL脚本不显示输出从UNIX CLI

当我运行它从UNIX CLI预言:

$ /的MyScript 1234 2345

它不显示任何输出,但是当我在SQL提示符上单独运行命令时,它们运行良好并生成输出。

任何人都可以帮忙,为什么没有UNIX CLI的输出?

#!/bin/ksh 
startDt=$1 
endDt=$2 
sqlplus mysqlroot/mysqlroot <<EOF >/dev/null 
     SET TRIMOUT ON; 
     SET FEEDBACK OFF; 
     SET PAGESIZE 0; 
     SET VERIFY OFF; 
     set linesize 2300; 
     set colsep |; 
    select * from my_sales where saleTIME >= $startDt and saleTIME<= $endDt; 
     exit; 
EOF 
+1

摆脱'>/dev/null'。 – 2014-09-02 05:39:18

回答

3
sqlplus mysqlroot/mysqlroot <<EOF >/dev/null 
    blah blah blah 
EOF 

你要发送的标准输出到/dev/null设备时,“位桶”这里的一切都被扔掉。

pax> echo xyzzy >/dev/null 
pax> echo xyzzy 
xyzzy 
pax> _ 

如果你不希望扔掉,只是删除输出重定向:

这最好用下面的成绩单,其中重定向到/dev/null导致输出不出现说明

sqlplus mysqlroot/mysqlroot <<EOF 
    blah blah blah 
EOF 
+0

谢谢。有时候它就在你面前,而你却错过了它。 – rajeev 2014-09-02 13:26:13