给定一个接受命令行输入的进程,如下所示
$ ./app
> init
initialized.
> start
started.
> stop
stopped.
是否可以编写一个 shell 脚本或另一个 C 程序来触发 ./app,并顺序注入(inject)命令?假设要编写的脚本将注入(inject)字符串“init”,并等待回复字符串“initialized.”,然后注入(inject)“start”,并等待回复“started.”,等等。
最佳答案
Unix expect
工具正是为这种情况而创建的。您提供一个脚本,在其中声明预期的字符串(如 initialized
)并在该字符串之后声明适当的操作。当然也有某种“START”的东西。
关于命令行界面和过程控制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9462600/