Я пытаюсь запустить удаленный скрипт в 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
Я пытался использовать двойные кавычки, я пробовал одинарные кавычки, я пробовал '\' как escape-символ, я пробовал '^', и кажется, что ничего не проходит правильно. Любая помощь?!
РЕДАКТИРОВАТЬ: пользователь предложил, чтобы я использовал '-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"
Итак, мне неясно, почему / где это облажается. Спасибо за любую помощь, вы до сих пор очень помогли.