Chinaunix

标题: while 循环 error. [打印本页]

作者: KEN6503    时间: 2013-10-30 08:40
提示: 作者被禁止或删除 内容自动屏蔽
作者: liion631818    时间: 2013-10-30 09:23
估计就是不支持while里面有Here Document
作者: dn833    时间: 2013-10-30 09:23
kshell不会玩,不过bash里EOF必须顶头写,LZ你cat -A 看看EOF前边是不是有什么特殊字符
作者: KEN6503    时间: 2013-10-30 09:45
提示: 作者被禁止或删除 内容自动屏蔽
作者: reyleon    时间: 2013-10-30 09:58
有bash么? ksh貌似现在的人很少玩
作者: Shell_HAT    时间: 2013-10-30 09:59
回复 4# KEN6503


方法1:用bash
  1. #!/bin/bash
  2. while :; do
  3.     sqlplus / as sysdba <<EndDoc
  4.     spool testwhile
  5.     select sysdate from dual;
  6.     spool off
  7.     exit;
  8. EndDoc
  9.     sleep 10
  10. done
复制代码

作者: KEN6503    时间: 2013-10-30 10:00
提示: 作者被禁止或删除 内容自动屏蔽
作者: reyleon    时间: 2013-10-30 10:02
回复 7# KEN6503


    6楼给你回复了,去试试,可行的话过来分享下
作者: 关阴月飞    时间: 2013-10-30 10:05
回复 1# KEN6503


表示在ksh93下测试没出现问题
不用EOF的话,试试能不能把要执行的那些语句放在一个变量里直接传过去?

作者: KEN6503    时间: 2013-10-30 10:13
提示: 作者被禁止或删除 内容自动屏蔽
作者: KEN6503    时间: 2013-10-30 10:15
提示: 作者被禁止或删除 内容自动屏蔽
作者: Shell_HAT    时间: 2013-10-30 10:17
方法2:用sql file
  1. #!/bin/ksh

  2. cat <<EndDoc >zzz.sql
  3. spool testwhile
  4. select sysdate from dual;
  5. spool off
  6. exit;
  7. EndDoc

  8. while :; do
  9.     sqlplus / as sysdba @zzz.sql
  10.     sleep 10
  11. done
复制代码

作者: KEN6503    时间: 2013-10-30 10:38
提示: 作者被禁止或删除 内容自动屏蔽
作者: Shell_HAT    时间: 2013-10-30 10:42
回复 13# KEN6503


    有时间就多来shell版块泡着,你会比我有更多方法
作者: KEN6503    时间: 2013-10-30 11:22
提示: 作者被禁止或删除 内容自动屏蔽
作者: reyleon    时间: 2013-10-30 11:28
回复 15# KEN6503


    弱弱的问一句,您多大年纪?
作者: Shell_HAT    时间: 2013-10-30 11:41
回复 15# KEN6503


    以前遇到过六十多岁还在学shell的
作者: KEN6503    时间: 2013-10-31 00:33
提示: 作者被禁止或删除 内容自动屏蔽
作者: reyleon    时间: 2013-10-31 09:38
回复 18# KEN6503


    楼主精神可嘉!




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2