2012-02-27 184 views
1

鉴于其接受命令行输入如下命令行界面与过程控制

$ ./app 
> init 
initialized. 
> start 
started. 
> stop 
stopped. 

是否有可能写一个外壳脚本或触发./app另一个C程序,并依次注入指令的处理?假设要写入的脚本将注入字符串“init”,并等待回复字符串“初始化”,然后注入“start”,并等待回复“started。”,等等。

回答

1

Unix expect工具已完全针对此场景创建。您提供了一个脚本,用于声明预期的字符串(如initialized),并在该字符串之后声明适当的操作。当然也有某种“开始”的东西。

查看http://en.wikipedia.org/wiki/Expect举例。

+0

啊!感谢提醒我关于“期望”!我记得有一种方法可以这样做,但不记得它是如何完成的。 – twfx 2012-02-27 09:56:22