如何停止控制台输出
How to stop console output
我有一个脚本,输出出现在控制台上,它应该只在输出文件中,这是脚本中的 sql 查询 header :
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
sql查询
SPOOL OFF
EOF
您需要将 sqlplus
的输出重定向到一个文件。您可以通过将 >>filename.log
添加到您的第一行来执行此操作,如下所示:
sqlplus -s ${connString} <<EOF >filename.log
你第一行的 &
是一个语法错误。
如果您只需要一个输出文件,则不需要 spool
因此您的脚本将如下所示:
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
我有一个脚本,输出出现在控制台上,它应该只在输出文件中,这是脚本中的 sql 查询 header :
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
sql查询
SPOOL OFF
EOF
您需要将 sqlplus
的输出重定向到一个文件。您可以通过将 >>filename.log
添加到您的第一行来执行此操作,如下所示:
sqlplus -s ${connString} <<EOF >filename.log
你第一行的 &
是一个语法错误。
如果您只需要一个输出文件,则不需要 spool
因此您的脚本将如下所示:
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