每次我尝试使用winpexpect来生成终端时(例如: openssh,ssh)。如果我执行winpexpect.winspawn('ssh ...'),我会遇到“伪终端将不会被分配,因为标准输入不是终端”。如果我强制终端使用winpexpect.winspawn('ssh -t -t ...'),那么我的读缓冲区中什么也得不到,即使ssh客户端实际上正在连接到服务器。其他交互式终端也是如此,它们只是挂起,读缓冲区中什么也不显示。但是,对于命令,终端可以工作,比如ping winpexpect。
我发现真正起作用的是使用putty的plink.exe,winpexpect.winspawn('plink ...'。这与putty.exe相同,但是它不执行终端仿真,我只获得原始的telnet/解密的ssh数据。然而,这并不是真正理想的解决方案。
我真的被困在如何获得一个spawner/expect库来与windows终端一起工作!我甚至尝试过使用expectJ,只是纯Java,也有同样的问题。
发布于 2012-10-11 15:31:50
winpexpect/plink有什么问题?您可以尝试forked winpexpect,它修复了winpexpect-1.5上的许多问题
https://stackoverflow.com/questions/12522649
复制相似问题