Простое решение состоит в том, чтобы использовать wait и tcpserver.Последний поставляется с пакетом ucspi-tcp в Ubuntu и, надеюсь, с другими Debian.
Пример:
Запустите это на одной консоли:
$ tcpserver localhost 3333 expect -c 'expect "hello" ; send "hi\n" ; expect "bye" ; send "see you\n"'
И это на другой:
$ telnet localhost 3333
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
hello
hi
bye
see you
Connection closed by foreign host.