是否可以在shell中创建事件驱动的服务

时间:2012-10-04 08:08:23

标签: shell

您好我想创建一个小程序,用于侦听复制命令复制的内容,以便以后在bash中进行回溯。是否可以在保持shell交互的同时收听击键?怎么可能这样做呢?我不需要整个程序只是暗示它是如何完成的。在语言方面,我没有优先权,它应该用脚本语言或maby c ++实现。

Pherhaps这可能需要像shell扩展或者somthing一样编写。只是一个提示就可以了。

1 个答案:

答案 0 :(得分:1)

考虑script程序的工作方式(参见man script)。我暂时没有这样做,但基本上你用C编写你的伪终端并将其推入流中,然后启动shell。

请参阅tcgetattr / tcsetattr,grantpt,unlockpt和ptsname,使用ioctl推送ptem,ldterm和可能的ttcompat。

更简单但效率更低的是将script运行到管道并捕获输出。您可能需要script -f来刷新缓冲区(我认为-f仅在GNU版本中)。

相关问题