Forum: PC-Programmierung expect Strings


von Sven L. (sven_rvbg)


Lesenswert?

Hallo Zusammen,
vielleicht kennt sich ja jemand etwas mit expect aus.

ich habe ein Script geschrieben, welches auch soweit auch funktioniert, 
allerdings schaffe ich es nicht Strings zu verarbeiten.

Aufruf:

./script.exp <user> <pass> <description>
./script.exp hans te!st "Hans Meier"

Script:
Versuch 1
send "add [lindex $argv 0] [lindex $argv 1] \"[lindex $argv 2]\"\r"

Versuch 2
send "add [lindex $argv 0] [lindex $argv 1] '"[lindex $argv 2]'\r"

Ich benötige am Ende einen Sring der so:
add hans te!st "Hans Meier" aussieht!

Egal was ich probiert habe,  ich erhalte immer so etwas:
add hans te!st ""

Der Inhalt aus [lindex $argv 2] wird als nicht übernommen, warum nicht?

Hat jemand eine Idee?

Danke!

: Verschoben durch Admin
von caesar (Gast)


Lesenswert?

Das Beispiel
1
send "add [lindex $argv 0] [lindex $argv 1] \"[lindex $argv 2]\"\r"
sieht gut aus.
Habe das "send" durch ein "puts" ersetzt:
1
user@debian:~/scripts/test$ ./script.exp hans 'te!st' "Hans Meier"
2
add hans te!st "Hans Meier"
Scheint also zu funktionieren.

Wie sieht dein gesamtes Script und der expect Aufruf aus?

von Sven L. (sven_rvbg)


Lesenswert?

Danke fürs testen!

...hast recht, das funktioniert so wie ich vermutet und Du bestätigt 
hast.

Das orginale Script ist etwas länger und verwendet noch ein paar 
Parameter mehr.

Bin mit den Parametern verrutscht, deswegen stand da ein leerer Wert.

Wald => Bäume, eigener Code und Betriebsblindheit!


Danke nochmal!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.