无法抑制终端上的 sqlplus 输出

not able to suppress sqlplus output on terminal

我正在使用以下脚本在 unix 服务器中使用假脱机分隔文件。我使用 putty ssh 进入它并执行 shell 脚本。

这是shell脚本:

/oracle/app/oracle/product/19.0.0/dbhome_1/bin/sqlplus -s /nolog<<-EOF

conn user/pass

SET PAGESIZE 0
SET LINESIZE 32000
SET NUMWIDTH 127
SET FEEDBACK OFF

set echo off
set heading off
set headsep off
SET MARKUP CSV ON DELIMITER | quote off
set termout off
spool mc_format.dat
select * from mytable;
spool off
EOF

但我无法抑制在终端上打印出的行,并且最终在我 运行 使用 cron 时登录。

有什么我遗漏的设置吗?

就在 documentation 关闭终端

控制使用@、@@ 或START 执行的脚本中命令生成的输出的显示。 OFF 会抑制显示,这样您就可以将输出假脱机输出到一个文件,而无需在屏幕上显示输出。 ON 在屏幕上显示输出。 TERMOUT OFF 不会影响您以交互方式输入的命令的输出或从操作系统重定向到 SQL*Plus。

所以不要使用此处的文档,而是使用提到的启动方法之一调用脚本。