命令行界面和过程控制

标签 c command-line-interface

给定一个接受命令行输入的进程,如下所示

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

是否可以编写一个 shell 脚本或另一个 C 程序来触发 ./app,并顺序注入(inject)命令?假设要编写的脚本将注入(inject)字符串“init”,并等待回复字符串“initialized.”,然后注入(inject)“start”,并等待回复“started.”,等等。

最佳答案

Unix expect 工具正是为这种情况而创建的。您提供一个脚本,在其中声明预期的字符串(如 initialized)并在该字符串之后声明适当的操作。当然也有某种“START”的东西。

参见 http://en.wikipedia.org/wiki/Expect例如。

关于命令行界面和过程控制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9462600/

相关文章:

c - 提高寄存器机虚拟机上循环的简单自制 JIT 的性能

c - 了解 Linux 性能报告输出

c - 如何在没有 rand() 函数的情况下生成随机数?

python - Python 中的动态语法突出显示

php - 如果执行的命令写入剪贴板,则 passthru 挂起

c - union 的这种行为背后的逻辑是什么?

c - 如何用 C 中的结构修复无限循环

php - Laravel 4.x,CLI已停止工作

node.js - nodeclipse:安装后在 Linux 上找不到命令

amazon-web-services - 使用 --query 参数和 --output 文本获取第一个元素时,aws cli 返回额外的 'None'