Задача: открыть сессию Telnet с удаленным устройством и посылать в эту сессию команды из скрипта bash.
Простой способ с помощью expect известен - вызвать из скрипта bash скрипт expect и оттуда всё послать. Но из скрипта expect я могу открыть сессию Telnet, послать команду (или группу команд), закрыть сессию Telnet, вернуться в скрипт bash. Если надо послать что-то еще - опять открыть сессию Telnet, послать, закрыть сессию Telnet... И так далее.
Нужно иначе - не закрывать сессию после каждой команды, а открыть из скрипта bash сессию Telnet на удаленное устройство, отправить туда команду, не закрывая сессию, проделать манипуляции в скрипте bash (например посмотреть состояние другого устройства после действия на первом), в зависимости от результата - отправить команду в открытую сессию Telnet, опять проделать манипуляции в bash, по их результату - отправить команду в сессию Telnet и так далее (в конце концов командой, отправленной в сессию Telnet будет exit).
Примерно так.