快速业务通道

利用非交付式方式运行交互式程序

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-05-11
应用程序的启动情况,从而降低系统工程师的工作量.

  另外可能各位系统工程师也喜欢在应用程序中使用read语句.不过read语句需要有一组事先确定好的参数来响应.此时如果系统工程师能够把这些参数预先防止在here文档中,则也可以让交互式命令read以非交互式的方式运行.通过这种处理技巧,可以减少系统等待用户输入的时间,提高程序的执行效率.电脑比人脑的反应速度要快的多.如果事先能够给交互式命令或者程序提供相关的参数,其可能执行起来只需要10秒即可.但是在执行的过程中再输入相关的参数的话,包括用户的反映时间、输入时间等等,则这个命令可能需要60秒才可以完成.为此系统工程师通过编写一些简单的脚本程序,可以让一些交互式的命令在非交互式环境中运行,从而提高应用程序的执行效率.

  二、实现应用程序无人值守安装.

  如在安装Oracle数据库系统的时候,需要用户输入相关的参数.如安装位置、实例名字等等.其安装之前也会进行一些运行环境的检测.不过有时候检测到的一些警告信息并不会影响其后续的使用.此时Oracle安装程序检测到这些警告信息之后,会等待用户的处理.但是笔者一次在Unix服务器上要实现无人值守安装.那时笔者就把安装过程中需要用到的一些参数预先设置在here文档中,然后让Oracle安装程序在安装的过程中,自动从这个here文档中后去相关的安装参数,从而实现了无人值守安装.这个具体的实现方式,这里篇幅限制,不做展开说明.在手续的文章中,笔者会以安装Oracle数据库系统为例,谈谈这个具体的实现过程.各位读者若有类似需要的话,可以关注笔者后续的文章.这里笔者只是像各位读者强调一下,利用Here文档可以帮助系统工程师实现无人值守安装.

  三、利用变量来实现交互.

  Here文档中的内容需要经过shell解释和处理,然后再作为输入传递给一个命令.这能够给系统工程师以什么启示呢?笔者再以查询为例,谈谈这个具体的应用.如果现在某个关键应用程序往run.sh中写入相关的运行日志.系统工程师希望Unix系统会把这个日志中当天的日志记录信息查询出来,并发送给系统工程师.此时这个查询脚本该如何编写呢?如果让系统工程师每天查询一次,虽然也可以实现.但是系统工程师可能不能够每天坚持.而如果利用上面的查询语句的话,就又遇到了一个问题,即如果把系统当天的日期作为查询的字符串呢?这涉及到了变量的问题.

  通常情况下,标准输入是不支持变量信息的.也就是说,如果系统工程师手工执行这个命令的话,则需要收入输入当前的日期.但是现在这个here命令则是支持变量的.其在运行之前,shell会对其进行相关的解释和处理.如果是变量的话,则会根据一定的规则先取得变量所对应的值,然后再把它作为一个参数传递给相关的命令或者程序.此时,系统工程师就可以利用系统提供的相关命令获取系统的当前日期,然后shell就会把这个日期传递给查询脚本,查询出当日的日志信息并通过特定的方式传送给系统工程师.可见here文件的另一个价值就在于对于变量的支持.

  另外Here文件支持变量,其往往还跟邮件程序结合使用.如需要利用邮件来群发邮件,而系统工程师希望针对不同的收件人,其都有相应的称呼,而不是采用统一的称呼.此时就可以利用here文件的变量功能来实现.

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号