shell脚本中生成的spool文件没有执行的语句

页面导航:首页 > 操作系统 > LINUX > shell脚本中生成的spool文件没有执行的语句

shell脚本中生成的spool文件没有执行的语句

来源: 作者: 时间:2016-01-14 17:21 【

#!/bin/bash
#start on 20151209
#auto_check.sh
#liming
#aim to do db check automatically

#usage:

su - oracle -c 'sqlplus -s / as sysdba'<< EOF   >>/u01/app/oracle/script_test_result/auto_check.log 2>1
set echo on
set feedback on
spool /home/oracle/script_test_result/auto_check.log
select * from lm.lm_t1;
spool off
exit
EOF

生成的spool文件auto_check.log里面,没有我执行的语句。这个怎么搞呀?
[[email protected] script_test_result]# more auto_check.log 

no rows selected

由于对一些命令的不熟悉,导致了我在这个问题上纠结了很久。后来查了许多资料,发现,其实不是set echo on 的问题,而是连接语句的问题。

sqlplus -s / as sysdba
中的-s,查了一下命令,我懂了。。
    -S             Sets silent mode which suppresses the display of
                   the SQL*Plus banner, prompts, and echoing of
                   commands.
果断将-s去掉,然后就恢复了。
[[email protected] script_test_result]$ cat auto_check.log 
SQL> select * from dual;
X

1 row selected.

SQL> spool off
Tags:

文章评论

最 近 更 新
热 点 排 行
Js与CSS工具
代码转换工具

<