Да, так помогло.
Но, не могу понять почему опять же не видно вывода ps в случае
...
send "ps\r"
sleep 5
exit
Я же заставляю "заснуть" на 5 сек, почему текст не видно.
Можно ли обойтись как-то без expect "# " после send "ps\r" ?
Может быть как-то в целом можно задать таймаут на ожидание ответа?
Понятно.
Тогда не пойму как тогда мне быть.
Скрипт мне надо написать универсальный, т.е. я не знаю какое может быть приглашение, что надо ожидать.
Т.е. у меня есть пул машин (там могут быть разные ОС, разные настройки приглашения, ...).
На каждую из них надо подключиться, ввести 2-3 команды и сгрепить некоторые параметры из вывода.
Может быть еще подскажите как сделать вот такое.
Есть машины, к которым регулярно открывать/закрывать сессии не очень хорошо. Поэтому я бы хотел для таких ситуаций открыть сессию и далее периодически в эту открытую сессию отправлять команды и получать их вывод.
Никак не могу понять понять, каким образом можно передавать на лету команды в expect.
> каким образом можно передавать на лету команды в expect
для этого есть expect_user. зачитанные строчки можно достать через expect_out(buffer), например:
Я не много другое имел ввиду.
Вот есть установленное соединение. Параллельно с ним в кроне висит еще один скрипт, который раз час/день/неделю закидывает определенную последовательность команд и грепит нужные параметры.