我继承了一个不再由它的供应商支持的一个20岁的交互式命令行UNIX应用程序。 我们需要在这个应用程序的一些任务自动化。
最麻烦的是这些稍有不同参数(如不同的标识符,不同的名字)创造了数千个新的记录。 这些记录必须按顺序,一次一个,这将需要几个月的时间(因此美元),以做手工创建。 在大多数情况下,创造了记录有键控命令,读的响应,在进一步的命令键控等。但是,一些记录创建的操作都会导致错误条件(“本标识记录已经存在”),需要一个非常可预测的模式一组不同的命令是正常退出。
我可以看到几种不同的方式来做到这一点:
命名管道。 编写与运行STDIN和STDOUT设置目标应用程序命名管道,然后将目标应用程序的命令序列创建具有所需参数的记录,然后指示目标应用程序退出并关闭一个Perl脚本。 然后,我们运行脚本多次使用不同的参数要求。
应用。 寻找其它的类Unix工具,可用于脚本互动节目。 唯一的我已经能够找到,虽然是期待 ,但是这似乎并没有顶维持; 和聊天,这是我从年龄记得以前,这似乎做更多或多或少我想要的,但似乎只是一种用于控制调制解调器。
还有一个潜在的并发症:我觉得目标应用程序是为VT100终端编写的,它使用某种形式的转义序列的做一些事情,如提供突出。
我的问题是我应该采取什么办法? 其中的一个,或完全不同的东西? 我很喜欢使用命名管道,然后有打开的FIFO和读取,并根据需要写,因为它提供了很大的灵活性Perl脚本的想法,但是从我读过,好像有很多,如果潜在的问题我走上这条道路。
提前致谢。