Или Вы неверно скрипт написали или показали его не полностью.
В начале должно быть;
#!/usr/bin/expect
а в конце
interact
Сначала запускал через /usr/bin/expect -f, там можно и не писать, имхо. Сейчас переделал, по Вашему шаблону. Скрипт логинится на модем успешно, но команда reboot не посылается. Просто висит приглашение модема. Там можно вручную ввести команду, но это не то

zhmak@server13:~/scripts# cat modem.expect
#!/usr/bin/expect
# логинимся на модем и перезагружаем его
spawn telnet 192.168.99.99
expect "login:"
send "admin"
expect "Password:"
send "secret"
expect "#"
set timeout 5
send "reboot"
interact
запустив имеем:
zhmak@server13:~/scripts$ ./modem.expect
spawn telnet 192.168.99.99
Trying 192.168.99.99...
Connected to 192.168.99.99.
Escape character is '^]'.
BusyBox on (none) login: admin
Password:
BusyBox v0.61.pre (2007.12.21-01:42+0000) Built-in shell (ash)
Enter 'help' for a list of built-in commands.
#
Пользователь решил продолжить мысль 18 Января 2011, 23:56:13:
Нашел ошибку. Всё оказалось весьма глупо.
Забыл после пароля поставить \r
Непонятно только почему авторизация все же проходила?