IT其它shell

麻烦各位专家帮我把把脉!

关于Shell和Oracle结合输出动态点点点问题;
刚发了一个本想是做为奖励,结果给搞反了,
第一次 ,哈哈,不多说了,
请各位专家给把把脉。

#!/bin/ksh

#从数据库里面导出数据到本地
main_Oracle()
{
userid=scott
passwd=scott
$emp=scott.emp
$dept=scott.dept
dir=$FilePath

sqlplus -s $userid/$passwd<<  EOF  > /dev/null
set heading off;
set linesize 800;
set pagesize 0;
set trimout on;
set trimspool on;
set feedback off;
set trimspool on;
set echo off;

spool $dir/scott_emp.txt
select * from $emp;
spool off;

spool $dir/scott_dept.txt
select * from $dept;
spool off;
exit;
EOF
}

#错误输入回复
exit_err()
{
echo  "Input Error, Please Enter Again"
break
}



#主程序

while :
do
    print  "   Enter File Path ,Exm:" c"
    read FilePath
        if [  X$FilePath != X ]
        then
            mkdir -p $FilePath
            echo "        ======================================="
                echo "        $FilePath : already Create!"
                echo "        ======================================="
        else
            echo "        =================================="
            echo "         $FilePath : Enter Error, Please Again!"
            echo "        =================================="
         fi
        break
        done

while :
do
            print " 确认要导出SCOTT用户所有数据[Y/N] : c"
            read ANS
case $ANS in
           Y|y|yes|Yes)           
             main_Oracle  #调用main_Oracle()
            ;;
            N|n|no|No)
                  exit 0
           ;;
                *)
                  exit_err  #调用 exit_err
           ;;
esac
done



以上是我的程序,当我的程序执行到spool 时,终端光标一闪一闪的,我想把这个一闪一闪换成动态输出... ,就像exp 工具一样加feedback=1000.
下面是我写的动态输出点点点
while :
do
print ".c"
done

哈哈,死环了,只为了测试,先不管死不死环, 也尝试过在 sqlplus -s $userid/$passwd<<  EOF  > /dev/null  & (while : ;do ;print ". c";done)
我也尝试过用nohup  命令,关键是脚本要交互式接受几个参数, 不知道nohup 怎么实现交互式。

最终达到的目的是:当spool 往本地导数据里,终端显示动态点点点,数据导完,结束点点点。
参与4

3同行回答

UpMan999UpMan999其它中国五星
我们就那scott.emp表来说,我想导出薪水在1K-2K, 导完成功,过段时间我又想导并且是薪水最高的,所以交互比较方便,写死的脚本,只能用一次,我是想着长久用。”select * from $emp;这个对吗?、"这个我在ksh下面测试过了,是可以的,就现在需要的是后台从数据库导出数据,前台也就是终端显示...显示全部
我们就那scott.emp表来说,
我想导出薪水在1K-2K, 导完成功,
过段时间我又想导并且是薪水最高的,

所以交互比较方便,写死的脚本,只能用一次,
我是想着长久用。

”select * from $emp;这个对吗?、"

这个我在ksh下面测试过了,是可以的,
就现在需要的是后台从数据库导出数据,前台也就是终端显示动态点点。收起
IT其它 · 2013-05-15
浏览1741
zhenzongjianzhenzongjian软件开发工程师na
select * from $emp;这个对吗?好长时间没有搞oracle了..我觉得应该是select * from $$emp;(如果你把$emp当成变量的话)显示全部
select * from $emp;
这个对吗?

好长时间没有搞oracle了..

我觉得应该是select * from $$emp;(如果你把$emp当成变量的话)收起
互联网服务 · 2013-05-15
浏览1753
zhenzongjianzhenzongjian软件开发工程师na
为什么要交互啊.能不能把参数定死呢显示全部
为什么要交互啊.

能不能把参数定死呢收起
互联网服务 · 2013-05-15
浏览1849

提问者

UpMan999
其它中国五星
擅长领域: AIX系统运维服务器

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2013-05-15
  • 关注会员:1 人
  • 问题浏览:5514
  • 最近回答:2013-05-15
  • X社区推广