PUTTY 的 CMD 行可执行文件调用脚本

PUTTY 的 CMD 行可执行文件调用脚本

我一直在尝试使用某种脚本来自动化 telnet 进程。每当我得到提示时,它都会指向 PUTTY。

我已经下载了 PUTTY 及其衍生产品 (plink.exe) 以使我的脚本运行。我似乎无法超越原点...

plink -telnet scriptfile.txt

(所有文件均位于本地)

此时似乎挂了。正确的语法是什么?

答案1

您使用了错误的 plink 应用程序。

尝试使用官方帮助:

http://the.earth.li/~sgtatham/putty/0.58/htmldoc/Chapter7.html

具体页面:7.2.3.1 -batch:禁用所有交互式提示

答案2

我不确定其他答案在说什么。简单的命令行概要plink

叮咚 [选项][用户@]主持人[命令]

所以最簡單用法是

叮当主持人

在哪里host当然,可以是常规主机名(可通过 DNS、NIS、hosts文件或其他方式解析)或(数字)IP 地址。您可能还可以使用 PuTTY 保存的配置文件名称(其中包含主机标识以及一组选项)。您可能需要使用该-telnet选项来告知plink不要使用rlogin协议或 SSH。

我不知道你读过什么关于脚本的内容plink。据我所知,PuTTY 没有任何这样的功能。我expect完成的是使用驱动器自动进行远程登录(我实际上使用了 SSH)plink。我expect从 ActiveState 获得了 ActiveTcl 包的一部分。(如果您搜索此站点,您应该能够找到有关如何执行此操作的一些说明。)然后我写了一个名为的文件,foo.tcl它看起来有点像这样:

# 将 Expect 包加载到 Tcl 中
软件包需要期望

exp_spawn plink 10.10.10.10

预计 : {                      # 等待服务器发出登录:迅速的。
      exp_send -s “gman\r”      # 我的用户名(不是真的)。
}

期望单词:{                  # 等待服务器发出密码:迅速的。
      exp_send -s "iLoveCats\r"# 我的密码(不是真的)。
}

然后我通过输入来运行它tclsh foo.tcl

祝你好运!

PS 实际上不要像我展示的那样添加注释。ActiveTcl允许以 开头的评论 #,但显然只能在单独的行上。

聚苯硫醚command命令行中的参数指的是登录到远程主机后plink想要发送给远程主机的命令。plink

答案3

我正在使用以下 .bat 文件,它运行良好。

plink hostip -P portnum < cmds.txt

就我而言,cmds.txt 只是我使用 putty 客户端时输入的命令。

您还可以通过这种方式获取 plink 返回的用于诊断目的的输出:

plink hostip -P portnum < cmds.txt > output.txt

相关内容