expect: mehrwörtige Variable {wort1 wort2 ...}

T

TheFallout

Grünschnabel
Hi,

wie kann man denn die geschweiften Klammern einer mehrwortigen Variable bei expect entfernen? Ein Beispiel wie folgt:

Code:
#! /usr/bin/expect
set myvar [lrange $argv 0 0]
puts "\$myvar: '$myvar'"

Aufruf:
> ./myscript.exp "test"
$myvar: 'test'

> ./myscript.exp "test1 test2"
$myvar: '{test1 test2}'

Ist ja in Ordnung, daß er die Leerzeichen durch die Klammern schützt, aber wenn ich den reinen Inhalt ohne die Klammern benötige habe ich ein Problem :-(
Die Verwendung mehrerer Variablen möchte ich gerne verhindern, da ich mir sonst diese irgendwie umständlich aus dem $argv-String herausschneiden müßte und dies auch noch bei unbekannter Anzahl von Argumenten.

Gruß Daniel
 
gelöst

...hm, hab's wohl gefunden. Eigentlich hatte ich lindex vermieden, da es vorher bei mir nicht funktionierte. Jetzt geht's wohl doch (muß ja wohl eindeutig an dem kaputten PC hier liegen ;-) ) - und es liefert auch genau das was ich gerne hätte:

Code:
#!/usr/bin/expect

set myvar [lindex $argv 0]
puts "\$myvar: '$myvar'"

Gruß Daniel

> ./myscript.exp "test1 test2"
$myvar: 'test1 test2'
 

Ähnliche Themen

Expect - Fehler in While

[PERL] Mit Regex kompletten String durchsuchen und ersetzen

Zurück
Oben