UNIX中交互程序的自动执行(转)

UNIX中交互程序的自动执行(转)[@more@]   在 UNIX 系统中,执行交互程序,要求用户通过键盘输入相应数据,完成相应的操作。有时这种交互操作,输入的内容有一定的规律可循,且输入的数据较大。这种操作,用户感到枯燥无味,费工费时,容易产生疲劳,差错在所难免。如在我单位人保系统财务数据集中过程中,要逐月逐分公司生成财务数据上报,执行程序 stmu3, 出现画面1;



2005913233652686.jpg400) {this.resized=true; this.width=400; this.alt='Click here to open new window';}" border=0>

   选 B 执行数据传送和接收,出现画面2;



2005913233653187.jpg400) {this.resized=true; this.width=400; this.alt='Click here to open new window';}" border=0>

   选 A 生成数据传送文件,出现画面3;



2005913233655468.jpg400) {this.resized=true; this.width=400; this.alt='Click here to open new window';}" border=0>

  按回车:出现画面4。



2005913233656267.jpg400) {this.resized=true; this.width=400; this.alt='Click here to open new window';}" border=0>

   用户输入 /tmp,将生成的上报数据文件放在UNIX的 /tmp 目录下,接着按回车键结束操作。

   以上是对一个公司的一个月的数据进行的操作。现在要对所辖所有分公司,同时从2000年1月到2001年6月共18个月全部要进行相应的操作,因此工作量较大。

   对这些相同的操作,能否将它存放在一个文本文件中,利用UNIX中的输入输出重定向的功能,自动执行上面的操作呢?本人经过实践,成功地解决了这个问题,现介绍如下:

   1.根据上述操作,编写文本文件 stmu3_cmd 如下:

BA
/tmp
   在用 vi 编辑时,要按照原来按键顺序,忠实地记录。

   2.在用户的HOME目录下,执行命令:

stmu3 < stmu3_cmd
   以上实现了一个公司一个月的数据的生成工作。如要对所辖公司实现上述同一操作,则需对公司进行循环。

   假如各公司对应一个目录,如下:

   tj0801

   tj0802

   tj0821

   ......

   tj0885

   3.对公司进行循环:

HHOME=/progb
export HHOME
cd HHOME
for I in tj*
do
cd $HHOME/$I
stmu3 < stmu3_cmd
done
   要对月份进行循环,可将要生成的月份放在文件 sys_date 中,如:

   20010101

   20010201

   20010301

   ......

   20011201

   4.对月份进行循环:

HHOME=/progb
export HHOME
cd HHOME
for j in `cat sys_date`
do
for i in tj*
do
cd $HHOME/$I
echo $j > sysdate
stmu3 < stmu3_cmd
done
done

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10617542/viewspace-947180/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10617542/viewspace-947180/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值