Re: [maillist] Eingabe an laufendes PRogramm

Tim Hilden (linuxlist@gmx.net)
Sun, 05 Sep 1999 13:45:43 +0000

Frank Schneider wrote:
>
> Tim Hilden wrote:
> >
> > Hallo,
> >
> > ich wollte per Telnet und einem Skript einige Mails verschicken. Nur
> > habe ich das Problem, dass wenn ich die Befehle einfach in ein Skript
> > untereinander schreie, werden diese nicht an das laufende Telnet
> > übergeben, sondern erst nach Beenden des Telnets aufgeführt. Natürlich
> > kommen dann nur Fehlermeldungen, was soll Linux denn mit HELO anfangen?
> > Ich habe mir also gedacht, dass ich die Standart Eingabe (stdin) von der
> > bash auf mein laufendes Telnet verlegen musste. Aber wie mache ich das
> > meinem Skript klar?
>
> Hallo...
>
> Für sowas gibts EXPECT. Das ist ein Zusatzpaket für Tcl/Tk und macht
> genau das:
>
> ---------Beispiel-Ausriß---------
> #!/usr/bin/expectk -f
>
> # Globaler Timeout:
>
> set timeout 15
>
> #Verbindungsaufnahme zu <HOST.DELIX.DE:
> #Login normal
> spawn telnet <host.delix.de>
> expect {*Username:*}
> exp_send "pclinux\n"
> expect {*Password:*}
> exp_send "lalal\n"
>
> #Switch to ROOT:
> expect {*host}
> exp_send "su -\n"
> expect {*Password:*}
> exp_send "blabla\n"
>
> expect {*host:[/root] #*}
>
> ...
>
> exit
> ----------end------------------
>
> Ohne einführendes Buch ist das allerdings etwas schwer. Als Buch gibts
> "Exploring Expect" z.b.
>
> Vielleicht weiß auch jemand hier eine URL, wos nen .PDF-File gibt oder
> so...
>
> Ansonsten ist das aber *das* Tool...ich automatisiere damit z.b. aucg
> ftp-Connects, Downloads, etc...

Hi Ho,

das scheint ja ganz nett zu sein, aber auch etwas kompliziert. Außerdem
muss man da, so wie ich das verstanden habe, immer eingeben, welche
Meldungen vom Server kommen. Wenn ich jetzt aber meinen Server ändere,
muss ich auch immer das Skript genau auf die Servermeldungen anpassen.
Geht das nicht einfach mit der normalen Bash ohne Extrapaket?

Trotzdem danke, TIM