标题类似于在 ActiveTCL 中无法使用 TCL 期望生成 ssh,但我认为我遇到了不同的问题......
我刚刚在我的 Windows 10 PC 上安装了 32 位版本的 ActiveTcl 8.5。安装之后,我在 tcl 命令行中输入以下内容,成功安装了 Expect:
teacup install Expect
在遵循有关如何使用 Expect 登录远程计算机的教程时,我的代码在尝试使用“spawn”命令时失败。我已将我的代码减少到名为 simple_ssh.tcl 的脚本文件中的以下最少行
#!/bin/sh
# \
exec tclsh "$0" ${1+"$@"}
package require Expect
spawn ssh eric@192.168.1.191
expect "eric@192.168.1.191's password:"
当我使用命令运行它时tclsh simple_ssh.tcl
,我收到错误:
不支持该请求。在执行“spawn ssh eric@192.168.1.191”(文件“simple_ssh.tcl”第5行)时子进程异常退出
如果我只是ssh eric@192.168.1.191
在 tcl 提示符下键入,远程机器会以预期的提示符进行响应:
eric@192.168.1.191's password:
并且 ssh 会话按预期运行。这样就可以看到ssh进程了。在我看来,'spawn' 可能没有正确集成到 Expect 中。我还能做错什么?我需要安装另一个包作为 ActiveTcl 的一部分才能让它工作吗?