putty plink -batch 其中命令有一个分号作为参数的一部分

问题描述

我正在尝试执行以下操作:

plink -batch <user>@<server> <command> <parameter>

参数包含分号;像 param="IP1;IP2"

返回说:

bash:IP2:找不到命令

我试图寻找一种方法来设置;分隔符关闭,所以它不期望多个命令。

解决方法

关注dave_thompson_085comment

使用反斜杠 (\;)。与来自 Unix 的 ssh-ing 不同,源 shell 可能会吞下它,Windows CMD 和 plink 将向服务器发送反斜杠,服务器上的 bash 会将其解析为引用(或转义)分号

我改成

plink -batch user@server command parameter\\;Parameter_continued

解决了问题。