2015-06-25 3 views
0

Я пытаюсь выполнить следующую команду:Список файлов на удаленном сервере

ssh -A -t -i ~/.ssh/DevKP.pem -o StrictHostKeyChecking=no [email protected] "for file in \`ls /root/spark/work/ \`; do echo 'file - ' $file; done" 

Выход есть:

file - 
file - 
Connection to MyServer closed. 

Когда я запускал команду на самом удаленном сервере:

for file in `ls /root/spark/work/ `; do echo 'file - ' $file; done 

Получаю:

file - test1.txt 
file - test2.txt 

Как заставить ti работать на локальном сервере? кажется, что он получает правильные файлы (потому что было два sysouts)

у кого есть идеи?

благодарит

ответ

0

Вы должны избежать $ в $file, чтобы убедиться, что удаленная оболочка интерпретирует его вместо локального. Вы также должны упростить ls /root/.. до for file in /root/../*:

ssh [email protected] "for file in /root/spark/work/* ; do echo 'file - ' \$file; done" 
Смежные вопросы