2016-11-14 72 views
0

下面是我簡單的bash腳本:放置bash腳本內部時如何剿.SQL腳本輸出

#!/bin/bash 
cd /app/oracle/client11_2/ 
connect <<EOF 
@/app/oracle/client11_2/testquery.sql 
exit; 
EOF 

注:testquery.sql包含一些「SELECT」查詢,還我已經使用卷軸存儲查詢的內容。

但是,當我在終端上執行bash腳本,它會產生很多不必要的輸出象下面這樣:

SQL*Plus: Release 11.2.0.3.0 
Copyright (c) 1982, 2011, Oracle. All rights reserved. 
Connected to: 
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production 
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP, 
Data Mining and Real Application Testing options 

如何避免這種輸出..!?當我執行bash腳本時,我不希望將它打印在輸出屏幕上。

回答

0

充分利用這裏DOC(<<)片斷爲:

connect <<EOF >/dev/null 
@/app/oracle/client11_2/testquery.sql 
exit; 
EOF 

這個發送STDOUT的文檔在這裏向/dev/null


你也可以做輸出重定向在運行時,發送整個STDOUT的腳本來/dev/null例如:

./script.sh >/dev/null 

再此將腳本的全STDOUT到/dev/null(因人而異) 。

1

您可以通過使用-s標誌

sqlplus -s 

這就是說抑制在SQL * Plus頭的消息,你的代碼片段顯示了一個連接,但不sqlplus中調用本身。不知道那裏是隱藏的。

+0

是的!!其隱藏的內部連接。 – Rohith

+0

謝謝..! - 也工作。 – Rohith