2010-06-29 6 views
2

J'ai un script dans l'hôte distant que je cours comme ./test/a/b/c/f et il fonctionne parfaitement bien sur le maching.Problème SSH - pas un tel fichier ou répertoire

Maintenant que je suis sur la machine hôte, je cours le même script que ssh root @ dst "./test/a/b/c/f" et cela aussi fonctionne bien.

Mais de mon script perl j'exécuter à l'aide de guillemets obliques comme

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

ou

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

il dit bash: ./ Test tel fichier ou un répertoire.

J'ai essayé d'échapper $ file avec single \ et \. même cela ne fonctionne pas. Une idée de comment résoudre ce problème,

Merci.

Répondre

3

Avez-vous essayé d'utiliser un chemin absolu au lieu d'un en fonction de ./? Cela résoudra probablement ce problème, et c'est plus sûr en général (surtout en se connectant en tant que root) qu'en fonction de ce qui définit le cwd (probablement bash basé sur l'historique) pour le régler de la même manière à chaque fois.

+0

Salut merci beaucoup. Ça a marché :) – Anu

Questions connexes