在Windows上使用perl执行TCL(期望脚本)

时间:2016-05-14 11:47:55

标签: perl tcl expect

我正在使用perl和

运行tcl(具有期望的脚本)
system("C:/Tcl/bin/tclsh86 C:/Users/sysadmin/desktop/expect.tcl");

它没有在脚本中执行所有命令,但它在ubuntu上运行正常。 我应该使用什么命令在Windows上使用perl完全运行它?

1 个答案:

答案 0 :(得分:0)

在Unix上Expect使用虚拟终端工作。相比之下,Windows上的Expect使用调试子系统。 (Windows上没有没有像虚拟终端一样。)这有一个标记为无法调试的程序(即一些系统程序,特别是telnet.exe虽然{{ 1}}也可能在该列表上)根本不能通过Expect自动化。操作系统只是拒绝让Expect连接到进程。

这是发生在你身上的事吗?我无法从您提供的最小信息中分辨出来,但它是迄今为止在平台之间移植Expect脚本时遇到问题的最常见原因(一旦您考虑到不同的路径和程序之类的普通事物在所有平台上都有。)

最重要的是,Tcl和Perl都能够直接与您使用ftp.exetelnet进行交谈的任何内容进行交谈(因为两者都完全熟练掌握TCP / IP )。事实上,两者都可能比通过使用Expect可能实现的任何东西更好地进行本地化。