使用 plink 通过 COM 端口发送命令并退出

Send commands via COM port using plink and exit

我需要在嵌入式 Linux 设备上通过 COM 端口(从控制台)执行一个或多个命令。 我正在尝试在 Windows 机器上使用 plink,但它不起作用。

我尝试过不同的案例,其中之一是:

echo "mkdir /test" | plink -batch -serial \\.\com4 -sercfg 115200,N,8 -l root

我有几个问题:

  1. 挂起,直到您按 Enter,之后您将 "登录:",并且不会退出
  2. 该命令不起作用(不创建目录)
  1. 使用echo.发送空行=输入
  2. 另一个echo发送登录
  3. 在 Windows 中(与 *nix shell 相反),如果你这样做 echo "foo",你会得到 "foo",而不是 foo。所以你可能需要 echo mkdir ...,而不是 echo "mkdir ..."
  4. 您需要以某种方式终止会话。没有 信号 可以发送到 plink 来关闭它。由于串行连接并不是真正的连接,因此无法远程关闭它(当您发送 exit 命令时,SSH 服务器可以关闭连接的方式)。所以你所能做的就是杀死 plink,例如使用 taskkill.
(
  echo.
  echo username
  echo mkdir /test
  timeout /t 5 > nul
  taskkill /f /im plink.exe > nul
) | plink ...