命令行界面与过程控制
问题描述:
鉴于其接受命令行输入如下命令行界面与过程控制
$ ./app
> init
initialized.
> start
started.
> stop
stopped.
是否有可能写一个外壳脚本或触发./app另一个C程序,并依次注入指令的处理?假设要写入的脚本将注入字符串“init”,并等待回复字符串“初始化”,然后注入“start”,并等待回复“started。”,等等。
答
Unix expect
工具已完全针对此场景创建。您提供了一个脚本,用于声明预期的字符串(如initialized
),并在该字符串之后声明适当的操作。当然也有某种“开始”的东西。
啊!感谢提醒我关于“期望”!我记得有一种方法可以这样做,但不记得它是如何完成的。 – twfx 2012-02-27 09:56:22