使用 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
我有几个问题:
- 挂起,直到您按 Enter,之后您将 "登录:",并且不会退出
- 该命令不起作用(不创建目录)
- 使用
echo.
发送空行=输入
- 另一个
echo
发送登录
- 在 Windows 中(与 *nix shell 相反),如果你这样做
echo "foo"
,你会得到 "foo"
,而不是 foo
。所以你可能需要 echo mkdir ...
,而不是 echo "mkdir ..."
。
- 您需要以某种方式终止会话。没有 信号 可以发送到
plink
来关闭它。由于串行连接并不是真正的连接,因此无法远程关闭它(当您发送 exit
命令时,SSH 服务器可以关闭连接的方式)。所以你所能做的就是杀死 plink
,例如使用 taskkill
.
(
echo.
echo username
echo mkdir /test
timeout /t 5 > nul
taskkill /f /im plink.exe > nul
) | plink ...
我需要在嵌入式 Linux 设备上通过 COM 端口(从控制台)执行一个或多个命令。 我正在尝试在 Windows 机器上使用 plink,但它不起作用。
我尝试过不同的案例,其中之一是:
echo "mkdir /test" | plink -batch -serial \\.\com4 -sercfg 115200,N,8 -l root
我有几个问题:
- 挂起,直到您按 Enter,之后您将 "登录:",并且不会退出
- 该命令不起作用(不创建目录)
- 使用
echo.
发送空行=输入 - 另一个
echo
发送登录 - 在 Windows 中(与 *nix shell 相反),如果你这样做
echo "foo"
,你会得到"foo"
,而不是foo
。所以你可能需要echo mkdir ...
,而不是echo "mkdir ..."
。 - 您需要以某种方式终止会话。没有 信号 可以发送到
plink
来关闭它。由于串行连接并不是真正的连接,因此无法远程关闭它(当您发送exit
命令时,SSH 服务器可以关闭连接的方式)。所以你所能做的就是杀死plink
,例如使用taskkill
.
(
echo.
echo username
echo mkdir /test
timeout /t 5 > nul
taskkill /f /im plink.exe > nul
) | plink ...