Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : telnet script in perl



Shack
13-03-2003, 15:22
Hi,

arbeite an einem Perlscribt welches sich über Telnet auf einem remote Host
einloggen und Befehle ausführen soll.
Das einloggen funkt schon nur das Ausführen von Befehlen nicht.
Weder mit cmd() noch mit Waitfor() und print().

Der Prompt nach dem einloggen hat folgende Format: name@rechner :>

Ich kann machen was ich will es hakt immer nach dem einloggen.

Vieleicht kann mir ja jemand helfen ?

Vielen Dank
Shack

Sourcecode :
use Net::Telnet ();

$host = new Net::Telnet (Timeout =>60, Errmode=>'die', Prompt =>'/[\$%#>_] $/i', Port =>$port );
$host->open("$hostname");
print STDERR "connected...\n";
print STDERR "logging in: $username...";
$host->waitfor('/login: $/i');
$host->print('name');
$host->waitfor('/password: $/i');
$host->print('passwort');
print STDERR "\tdone\n";

#### ab hier hakt es :

$host->cmd( 'who');

oder :

$host->waitfor('/ name@rechner /i'); # liegt es am _@ -zeichen ?
$host->print('who');

tomes
14-03-2003, 19:13
doch so heissen:
@ausg = $host->cmd("who");
print @ausg;

@ ist schon wichtig, da bei telnet 1.
immer mehrere Zeilen ausgegeben werden
und
es eine interaktive Kommunikation ist.
Also Befehl eingeben, Ausgabe ansehen.

T;o)Mes