Я пытаюсь написать скрипт для отправки простой текстовой строки (rprst 2 $ 0D) через telnet с компьютера Mac с ОС 10.11 на устаревшее встроенное устройство. SSH не вариант. Нет пароля для входа на устройство.
#!/usr/bin/expect -f
telnet 172.16.1.10
sleep 1
expect "'^]'"
sleep 1
echo RPRST 2 $0D
Когда я запускаю это, система входит в сеанс telnet, а затем останавливается. Я могу ввести [CTRL] +], затем выйти, после чего я получаю паузу в 1 секунду, затем следующее:
Connection closed.
couldn't read file ""'^]'"": no such file or directory
"rprst 2 /Users/$USR/Desktop/my_script.shD"
Я также пробовал заголовок
#! / Bin / Баш
и попробовал систему вместо ожидаемого. Я также попытался удалить или изменить время сна, удалив двойные кавычки из строки Expect. Я пытался использовать "spawn telnet", но Mac говорит мне, что spawn не является действительной командой. У кого-нибудь есть идеи?
РЕДАКТИРОВАТЬ: Я продолжал пытаться, но безуспешно. Моя последняя попытка:
#!/bin/sh
{ echo "rprst 2 $0D"; sleep 1; echo "rprst 2 $0D"; sleep 1; } | telnet 172.16.1.10 23
Терминал дает мне ответ:
Trying 172.16.1.10...
Connected to 172.16.1.10.
Escape character is '^]'.
telnet> ?Invalid command
telnet> Connection closed.