проблема ssh - нет такого файла или каталога

У меня есть скрипт на удаленном хосте, который я запускаю как ./test /a/b/c/f, и он отлично работает при обработке.

Теперь я на хост-машине, я запускаю тот же скрипт, что и ssh root@dst "./test /a/b/c/f", и это тоже работает нормально.

Но из моего perl-скрипта я выполняю его, используя обратные кавычки, как

$file = "/a/b/c/f";
`ssh root\@dst "./test $file"`;

or

system("ssh root\@dst \"./test $file\" ");

он говорит, что bash:./test нет такого файла или каталога.

Я попытался экранировать $file с помощью одиночных \ и \. даже это не работает. Любая идея, как решить эту проблему,

Спасибо.


person Anu    schedule 29.06.2010    source источник


Ответы (1)


Вы пытались использовать абсолютный путь вместо пути, основанного на ./ ? Это, вероятно, решит эту проблему, и в целом это безопаснее (особенно при подключении с правами root), чем зависеть от того, что устанавливает cwd (вероятно, bash на основе истории), чтобы каждый раз устанавливать его одинаково.

person metamatt    schedule 29.06.2010