Hallo Benedict, schreib doch mal
eval set $X Gruss Michael > On Mon, 2010-05-31 17:55:26 +0100, A. Dreyer (LUG-OWL) <[email protected]> > wrote: > > On 31/05/10 16:34, Jan-Benedict Glaw wrote: > > > Input: > > > asdf, "Foo this is", NULL, 17.3 > > > > > > Output soll sein, daß > > > > > > $1 = adsf, > > > $2 = Foo this is, > > > $3 = NULL, > > > $4 = 17.3 > > > > > > ist. Klappt auch, solange man > > > > > > set asdf, "Foo this is", NULL, 17.3 > > > > > > macht, scheint aber fehlzuschlagen, wenn der Text aus einer Variablen > > > kommt: > > > > > > #!/usr/bin/env sh > > > echo ${BASH_VERSION} > > > set foo "bar baz" stuff > > > echo "1: $1 2: $2 3: $3" > > > X='foo "bar baz" stuff' > > > set $X > > > echo "1: $1 2: $2 3: $3" > > > set `echo $X` > > > echo "1: $1 2: $2 3: $3" > > > > > > > > > Das ergibt dann: > > > > > > 3.1.17(1)-release > > > 1: foo 2: bar baz 3: stuff > > > 1: foo 2: "bar 3: baz" > > > 1: foo 2: "bar 3: baz" > > > > > > > > > Erwartet hätte ich in allen drei Fällen das Ergebnis der ersten Zeile. > > > Die Ergebnisse der zweiten und dritten Zeile halte ich für falsch. > > > > Ich denke die Ausgaben sind korrekt.. > > > > > Comments? Workarounds? > > > > Spiel mal mit dem IFS (Input Field Separator) rum.. aber vergiss nicht > > den urspruenglichen wert zu sichern. > > > > --snip-- > > OLDIFS="$IFS" > > X='asdf, "Foo this is", NULL, 17.3' > > IFS=" > > ," > > set $X > > echo "1: $1 2: $2 3: $3" > > IFS="$OLDIFS" > > --snip-- > > > > .. da bleiben dann noch leading whitespaces aber ansonsten sollte es ok > > sein. > > Mit dem IFS hatte ich schon gespielt; das machts aber nicht unbedingt > einfacher, weil dann z.B. kein Komma mehr in einem der C-Strings > auftauchen darf. Ebenso würden Geschichten wie > > foo ("This is a text with a real (\") quotation mark", 5.3); > > nicht mehr ordentlich geparst werden. > > Ich hab' gerade nochmal in der man page der bash gelesen, was `set' > tun sollte. Die Definition da ist etwas schwammig, würde aber IMHO > meine Erwartungshaltung abdecken. Vielleicht mal 'nen Bug aufmachen > und schaun, was dabei herumkommt. > > MfG; JBG > > -- > Jan-Benedict Glaw [email protected] +49-172-7608481 > Signature of: Träume nicht von Dein Leben: Lebe Deinen Traum! > the second : > -- > Linux mailing list [email protected] > subscribe/unsubscribe: http://lug-owl.de/mailman/listinfo/linux > Hinweise zur Nutzung: http://www.lug-owl.de/Mailingliste/hints.epo -- Linux mailing list [email protected] subscribe/unsubscribe: http://lug-owl.de/mailman/listinfo/linux Hinweise zur Nutzung: http://www.lug-owl.de/Mailingliste/hints.epo
