以下脚本存储在文件myscript
中当我从UNIX CLI运行它作为oracle时:
$。/ 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
答案 0 :(得分:3)
sqlplus mysqlroot/mysqlroot <<EOF >/dev/null
blah blah blah
EOF
您将标准输出发送到/dev/null
设备,&#34;位桶&#34;一切都扔掉了。
最好用以下记录说明,其中重定向到/dev/null
会导致输出不显示:
pax> echo xyzzy >/dev/null
pax> echo xyzzy
xyzzy
pax> _
如果您不想它被丢弃,只需删除该输出重定向:
sqlplus mysqlroot/mysqlroot <<EOF
blah blah blah
EOF