Bash 如何停止控制台输出

Bash 如何停止控制台输出,bash,oracle,sqlplus,Bash,Oracle,Sqlplus,我有一个脚本,输出显示在控制台上,它应该只在输出文件中,这是脚本中的sql查询头: sqlplus -s ${connString} <<EOF & SET HEADING OFF FEEDBACK OFF ECHO OFF PAGESIZE 0 SET LINESIZE 1024 SET TRIMSPOOL ON WHENEVER SQLERROR EXIT FAILURE SPOOL $logdir/Report_$YYYYMMDD.txt 您需要将sqlplus的输

我有一个脚本,输出显示在控制台上,它应该只在输出文件中,这是脚本中的sql查询头:

sqlplus -s ${connString} <<EOF &

SET HEADING OFF FEEDBACK OFF ECHO OFF PAGESIZE 0
SET LINESIZE 1024
SET TRIMSPOOL ON
WHENEVER SQLERROR EXIT FAILURE
SPOOL $logdir/Report_$YYYYMMDD.txt

您需要将
sqlplus
的输出重定向到一个文件。您可以通过在第一行中添加
>filename.log
来完成此操作,如下所示:

sqlplus -s ${connString}  <<EOF >filename.log

您需要将
sqlplus
的输出重定向到一个文件。您可以通过在第一行中添加
>filename.log
来完成此操作,如下所示:

sqlplus -s ${connString}  <<EOF >filename.log

我想你可能在出发后不起作用,但J.Schübel的回答很有魅力,非常感谢。我想你可能在出发后不起作用,但J.Schübel的回答很有魅力,非常感谢
OUTFILE="Report_$(date '+%Y%m%d').txt"
sqlplus -s ${connString} <<EOF >|"$OUTFILE"

SET HEADING OFF FEEDBACK OFF ECHO OFF PAGESIZE 0
SET LINESIZE 1024
SET TRIMSPOOL ON
WHENEVER SQLERROR EXIT FAILURE

--query

EOF