2014-09-02 45 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