从 Windows 调用 ssh 时转义字符

从 Windows 调用 ssh 时转义字符

我需要从 Windows 命令提示符调用 ssh 命令,该命令将在远程 Linux 计算机上执行命令。该命令接受两个字符串参数,其中一个参数可能是多行的。基本上,我的调用看起来像这样:

ssh 用户@服务器 命令 参数1 参数2

当参数中有空格时,这个方法会失败。我尝试使用 ' 来转义参数,但 Windows 框会删除这些参数,然后 Linux 会破坏这些参数。我也尝试过 ",Windows 框可以正常使用,但 Linux 会忽略它们。我同时使用这两个的版本如下

ssh 用户@服务器命令“'参数1'”“'参数2'”

有点用,但现在我遇到了内联引号的问题。有没有标准方法可以让 Linux 和 Windows 都理解空格、单引号和双引号?

答案1

我认为以下方法会非常有效:

ssh user@server "command \"parameter 1\" \"parameter 2\""

当然,您仍然面临需要对参数内的双引号进行双重转义的问题。

相关内容