2016-10-09 8 views
0

Я пытаюсь использовать SSH на сервере и запускать программу. Я был в состоянии SSH с помощьюизменение каталога с использованием сценария bash

#!/usr/bin/expect -f 
spawn ssh [email protected] 
expect "assword:" 
send "mypassword/r" 
#interact 
cd /users/bill/work 

Но тогда я хотел изменить в определенную директорию и выполнить программу из этого каталога. Поэтому, когда он попадает на компакт-диск часть, я получаю

couldn't change working directory to "https://stackoverflow.com/users/bill/work/": no such file or directory 
while executing 
"cd /users/bill/work/" 
(file "./ssh.sh" line 8) 

, но я знаю, что это правильный каталог, и я могу кд на него из InterACT командной строки. поэтому, могу ли я использовать команду cd, если я использую ожидание?

Спасибо, BZ

+0

Проверьте, может ли это быть полезным: [How-to-Change-current-work-directory-using-expect-script] (https://stackoverflow.com/questions/39720111/) – pynexj

+0

Связанное сообщение: http: // stackoverflow.com/questions/42849669/writing-automated-scripts-to-configure-device/42856437#42856437 –

ответ

1

Проблема заключается в том, что, как только вы войти через SSH, вы хотите получить доступ к компьютерам удаленной консоли. Тем не менее, cd /users/bill/work выполняется в вашей системе, так как вы не вводите его в консоль, но выполняете его непосредственно из файла bash, где действительно нет такого файла или каталога. Возможно, вы захотите отправить команду на консоль удаленных компьютеров.

+0

Как получить доступ к консоли удаленного компьютера? не достаточно хорошо? –

+1

@ B.Z., Вы делаете это: 'send cd/usres/bill/work \ r' - который выполняет команду в процессе ssh, который вы породили. «\ R» означает, что вы нажимаете клавишу ввода. Это очень важно: вы можете найти учебник или прочитать [книгу] (http://shop.oreilly.com/product/9781565920903.do), чтобы начать работу. –

 Смежные вопросы

  • Нет связанных вопросов^_^