ubuntuusers.de

Telnet Script

Status: Gelöst | Ubuntu-Version: Kein Ubuntu
Antworten |

tim305

Anmeldungsdatum:
30. Juni 2011

Beiträge: Zähle...

Hallo Leute,

nach einer langen Nacht funktioniert mein Telnet Script immer noch nicht wie ich will. Es sieht so aus:

1
2
3
4
5
6
7
#!/bin/bash

expect -c "spawn telnet 192.168.1.1;
expect Account:;send admin\r;
expect Password:; send admin\r;
expect >; send "sys version\r";
expect EOF"

Ich erhalte die Fehlermeldung "> couldn't read file "versionr; expect EOF": no such file or directory".

Wenn ich das Script in #!/usr/bin/expect ausführe, funktioniert es zwar, aber ich kann meine vorher definierten variablen nicht dorthin exportieren oder ist das irgendwie möglich?

Gruß Tim

theinlein

Anmeldungsdatum:
29. Dezember 2007

Beiträge: 1279

Hi,

sorry, wenn ich jetzt erst mal nur wenig Zeit habe und schnel drüber schaue ...

Wenn das stimmt, was du gepostet hast, dann hast du zunächst mal ein Gänsefüßchen-Problem (also mit den Anführungszeichen).

Da das in der bash gestartet wird, kannst du innerhalb von Anführungszeichen keine Anführungszeichen verschachteln oder du musst sie maskieren (\"). Außerdem hast du ja mehrere Zeilen, was die bash als mehrere voneinander getrennte Befehle für die bash auffasst.

Ansonsten nach expect -c mit Einfachhochkomma arbeiten und die letzte Zeile auch so abschließen. Innerhalb der Einfachhochkomma kannst du Anführungszeichen ohne Maskierung verwenden.

Das andere: Was willst du über Variable wohin einbringen? Bitte beschreiben.

tim305

(Themenstarter)

Anmeldungsdatum:
30. Juni 2011

Beiträge: 8

Habe es nun so gelöst:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
#!/bin/bash

/usr/bin/expect - << EndMark
spawn telnet 192.168.1.1
expect "Password:"
send "admin\n"
expect ">"
send "sys version\r"

EndMark
Antworten |