2017-02-03 18 views
0

Я хочу подключить машину по telnet. Попытка использовать Expect не работает. Нет имени пользователя и пароля. Здесь я нахожусь.Telnet с использованием Shellscript (OSX) с Expect

#!/usr/bin/expect -f 

Echo Hello World 
telnet IP_Address_Here 10001 

expect "]'." 
send "^a200\r" 

Это работает до «ожидаемого». Это является результатом кода ...

Roberts-MacBook:~ rameeti$ sh test.sh 
Hello World 
Trying IP_Address_Here... 
Connected to IP_Address.lightspeed.irvnca.sbcglobal.net. 
Escape character is '^]'. 

А потом сидит в ожидании команды, которую я хочу отправить: «^ A200» Почему «ожидать» не работает?

ответ

0

Я предполагаю, что вы выполняете его с bash вместо expect.

В противном случае, вы получите

invalid command name "Echo" 
    while executing 
"Echo Hello World" 

попробовать

$ expect -f test.sh 

Кстати, вы не должны называть его .sh, если это ожидать.

+0

Я попытался позвонить своему сценарию с предложением «ожидать ...» после удаления строки Echo. Затем он зарычал в моей команде Telnet, поэтому я добавил Spawn перед Telnet, и ему понравилось это лучше. Но теперь, после подключения и ответа на соединение, он сразу же покидает Telnet и возвращает меня в мою командную строку. Похоже, ему не нравится «Ожидание» или «Отправить». Идеи? –

+0

Попробуйте http://expect.sourceforge.net/example/autoexpect.man.html –