2010-09-30 9 views
6

Devo connettermi a un server remoto tramite telnet e voglio inviare il file in ingresso.Come inviare comandi a telnet e lasciare la sessione aperta

Questo è un emulatore di processore (MCF68k), quindi non posso semplicemente scpare il file sul server ed eseguire da lì.

posso inviare in ingresso in questo modo:

telnet host.name < input.file

che trasmetterà correttamente i dati al server ed eseguire i comandi memorizzati che voglio. Tuttavia, ho bisogno che la sessione telnet rimanga interattiva (non terminata).

Come collegare un file a un comando, quindi restituire il controllo di stdin al terminale e mantenere aperta la sessione interattiva?

Molto tardi Edit:

penso che questo può essere fatto utilizzando expect:

uomo aspettava: http://www.manpagez.com/man/1/expect/

pitone avvolgitore: http://www.noah.org/wiki/pexpect

+0

L'utilità per lo schermo potrebbe fare ciò che ti serve. http://www.gnu.org/software/screen/ – aschepler

+1

Niente da fare è offtopic. Sarebbe superutente, tranne che l'input pre-interattivo potrebbe essere considerato di programmazione. –

+1

@Will, hai letto le domande frequenti? "Le migliori domande di Stack Overflow contengono un po 'di codice sorgente, ma se la tua domanda riguarda generalmente ... gli strumenti software comunemente usati dai programmatori ... allora sei nel posto giusto per porre la tua domanda!" –

risposta

2

Does cat input.file - | telnet host.name lavoro?

+0

Purtroppo no. Anche se sembra funzionare per altri comandi, come 'cat input.file - | xxd'. Sembra che la connessione telnet stia usando 'getch' o qualche equivalente - non so se questo è un problema con esso o cosa. –

+0

Irritante. Non riesco a pensare a nient'altro alla mano, mi dispiace. –

+0

Questo potrebbe non funzionare a causa dello svuotamento di 'stdin', e forse il fatto che l'input non provenga da una tty? Che dolore. –

Problemi correlati