gpt4 book ai didi

batch-file - 如何使用 PuTTY/Plink 在 Windows 批处理文件中的设备上按顺序执行多个命令?

转载 作者:行者123 更新时间:2023-12-02 13:50:06 24 4
gpt4 key购买 nike

我正在尝试使用 .bat 以自动方式通过 SSH 配置设备脚本。在下面的代码片段中,我以正确的顺序生成了一个包含所需命令的文件,然后我使用 plink 将文件执行/读取到 SSH 连接中。 .这会导致错误消息命令未知,我认为这是由于命令没有一一执行而是插入整个文件的事实引起的。

有谁知道我如何顺序执行多个命令?

我尝试将 commands.txt 文件重定向到 plink没有成功。此外,无法为每个命令创建新的 SSH 连接,因为某些命令会将设备转入配置模式。不幸的是,我尝试配置的设备不是基于 Unix 的,因此使用 && 链接命令或 ;不可能,我需要插入命令,然后“按 Enter”并继续。

config.bat

@echo off
SET /P IpAdres=IP:
SET /p Username=Username:
SET /p Password=Password:
echo command 1 >> commands.txt
echo command 2 >> commands.txt
echo command 3 >> commands.txt
echo command 4 >> commands.txt
plink.exe -batch %IpAdres% -l %Username% -pw %Password% -m commands.txt

最佳答案

设备确实有可能将命令解释为一个。使用 Plink/PuTTY -m 指定的命令switch 使用“exec” SSH channel 执行,该 channel 仅适用于单个命令。虽然某些 SSH 服务器(如 OpenSSH)甚至可以通过这种方式处理多个命令(因此您的批处理文件可以在那里工作),但这绝不是一种标准行为。您的设备可能使用了一些专有的 SSH 服务器,而不是普通的 OpenSSH。

如果你想模拟一个用户一个接一个地输入命令,请使用输入重定向(这种方式“shell” channel 被 Plink 代替):

(
echo command 1
echo command 2
echo command 3
echo command 4
) | plink.exe -batch %IpAdres% -l %Username% -pw %Password%

关于batch-file - 如何使用 PuTTY/Plink 在 Windows 批处理文件中的设备上按顺序执行多个命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50170536/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com