我有在 linux 上运行的期望脚本,我想在 Windows 上运行它。我已经添加
#!/bin/sh
# \
exec tclsh "$0" ${1+"$@"}
package require Expect
线以及开始。我收到“ can't find package Expect
”错误。我在哪里可以得到那个?
Expect for Windows是由 ActiveState 作为ActiveTcl的一部分完成的(32 位版本免费),强烈推荐作为Windows 平台上包含电池的最终 Tcl 构建。(我不确定 Expect for Windows 是否是社区版的一部分;我在不同的平台上,所以检查有点尴尬。)
请注意,Unix 和 Windows 之间存在一些本质上的差异,而 Expect 是一个深入了解细节的扩展包。它隐藏了几乎所有可怕的差异,但不是全部;高级脚本可能需要相当多的额外工作才能移植。此外,某些 Windows 可执行文件(特别是telnet.exe
)不能被 Expect 包装,因为它们被标记为特殊的系统文件,并且 GUI 应用程序根本不能被包装。不过,从属流程通常有很好的替代方案。