如何在SSH命令中传递引号?

时间:2016-11-03 21:21:31

标签: python windows ssh cmd openssh

我试图在Windows上通过ssh运行远程脚本,我无法弄清楚如何处理引号。 (主机和客户端都是Windows机器。)这是在主机上正常工作的语句:

C:\> python "C:\folder path\file.py"

我看似无处不在,似乎尝试了一切,但我无法让它发挥作用:

C:\> ssh user@ipaddress "python ""C:\folder path\file.py"""
python: can't open file 'C:\folder': [Errno 2] No such file or directory

我尝试过使用双引号,我试过单引号,我试过' \'作为一个转义字符,我试过了' ^',似乎没有任何东西正确传递字符串。有什么帮助吗?!

编辑: 用户建议我使用' -v'用ssh跟踪路径。这样做,看起来双引号实际上做了我所期望的,但不知何故主机错误解释命令,并反对该空间。不知道为什么......

要明确,请使用:

C:\> ssh -v user@ipaddress "python ""C:\folder path\file.py"""

我在结果中看到了这一点:

debug1: Sending command: python "C:\folder path\file.py"
python: can't open file 'C:\folder': [Errno 2] No such file or directory

再说一遍,更明确的是,当我在主机上进行音乐处理时,此命令可以正常工作:

C:\> python "C:\folder path\file.py"

所以,我不清楚为什么/这会搞砸了。感谢您的帮助,到目前为止,您都获得了巨大的帮助。另外,我正在使用OpenSSH。有人提到了我不熟悉的cygwin。我没有使用它,除非它被OpenSSH隐式使用。

此外,我添加了python,因为python似乎是抛出错误的那个。 I.e。 - ' python:无法打开文件' C:\文件夹':[Errno 2]没有这样的文件或目录',所以我不确定是否有一些python的细微差别我需要警惕。

0 个答案:

没有答案