我正在使用ActiveState TCL 8.5,这是仍可以安装Expect的最新32位程序。我在Windows 10 64位系统上运行。
我完全知道这个问题:Tcl Expect with Putty
它不是活动的,尚未得到答复。我的问题是类似的。
无论我spawn
是什么,结果总是expect: does "" (spawn_id exp4) match glob pattern XX ? no
我有以下代码:
package require Expect
exp_internal 1
spawn plink -telnet localhost 4444
expect ">"
我还在telnet.exe
,spawn telnet localhost 4444
和powershell.exe
中尝试了一个独立的cmd.exe
,以测试它们是否至少将某些内容返回给Expect,但它们似乎都可以不返回要解释的内容,就像返回此调试消息expect: does "" ...
事实上,我尝试过:
spawn plink -telnet localhost 4444
send "quit\n" # or "quit" or "quit\r" or "exit" or "exit\n" or "exit\r"
但是在我的任务管理器中,运行spawn命令后返回的具有相同PID的plink.exe仍在运行。 我现在怀疑Expect根本没有与目标程序连接。
我读到以下内容:TCL\Expect:: Script that is running on Windows XP is not running on Windows 7. Any ideas please?难道在Windows 10下,Expect的工作方式不可能吗?
有人遇到过同样的问题吗?我也尝试过将另一个Expect移植到Windows,但是由于同样的问题,这没有用。有人可以帮忙吗?