我认为我想做的事情叫做GUI /命令行换行sftp(1)。我需要一种简单的方法来启动该程序并在运行时对其输出做出反应。此外,我必须能够向其发送输入,需要完全交互。
我尝试了forkpty(模拟TTY),但是没有一个很好的例子可以找到使用forkpty来完成那个工作,而是有几个警告关于参数和建议不要使用它的溢出。另一个奇怪的事情是windowsize参数...
请给我一个或多个关于如何打电话的例子。与C中的命令行程序交互或在iPhone GUI中集成sftp的其他方式
答案 0 :(得分:2)
飘柔!创建Expect是为了解决您的问题。它基于Tcl,它不是那么令人愉快,但是工具很舒服,设计得非常好,而Don Libes则是一本很好的书,他创造了这个工具。
Expect脚本是用Tcl编写的,但很容易将Tcl脚本集成到C程序中,这样C程序的其他部分甚至都不知道正在使用Tcl。
答案 1 :(得分:1)
您是否使用过任何流行的脚本语言Ruby / Python / Perl / etc?他们都有非常全功能的图书馆,可以打开并与其他流程进行交流。
例如,python中的subprocess
模块,或者Ruby中的Popen
...网上也会有很多参考资料来帮助你。
如果还需要GUI,您可以查看GTK个扩展程序
答案 2 :(得分:0)
而不是调用sftp(1)
,如何使用libssh?它具有完整的sftp subsystem支持。