DirtyDoc
17.11.06, 19:16
hi, ich hoffe, dass das hier ein weiser mensch liest, der willig ist mir mal ganz kurz zu erklären, was ich in diesem zusammenhang falsch verstehe...
ich habe ein kleines programm, was nichts anderes macht, als zwei strings auszugeben, davon einen mit nem escapten space:
seb@laptop ~ $ ./test.sh
hallo
auf\ wiedersehen
seb@laptop ~ $
wenn ich diesen output nun an ne for-loop gebe, passiert folgendes:
seb@laptop ~ $ for i in `./test.sh`; do echo $i; done
hallo
auf\
wiedersehen
seb@laptop ~ $
dass for im allgemeinen mit escapten strings umgehen kann zeigt folgendes beispiel:
seb@laptop ~ $ for i in hallo auf\ wiedersehen; do echo $i; done
hallo
auf wiedersehen
seb@laptop ~ $
anscheinend versteht die for loop den escapten string nicht richtig, wenn man den output in eine variable leitet, sondern interpretiert statt dessen das backslash als zeilenumbruch.
kann mir hier irgendwer nen heissen tipp geben, wie ich sowas geschickt lösen kann? gibt es für for auch so nen schalter wie bei read -r , der bewirkt, dass for die backslashes als teil des strings ansieht?
ich habe ein kleines programm, was nichts anderes macht, als zwei strings auszugeben, davon einen mit nem escapten space:
seb@laptop ~ $ ./test.sh
hallo
auf\ wiedersehen
seb@laptop ~ $
wenn ich diesen output nun an ne for-loop gebe, passiert folgendes:
seb@laptop ~ $ for i in `./test.sh`; do echo $i; done
hallo
auf\
wiedersehen
seb@laptop ~ $
dass for im allgemeinen mit escapten strings umgehen kann zeigt folgendes beispiel:
seb@laptop ~ $ for i in hallo auf\ wiedersehen; do echo $i; done
hallo
auf wiedersehen
seb@laptop ~ $
anscheinend versteht die for loop den escapten string nicht richtig, wenn man den output in eine variable leitet, sondern interpretiert statt dessen das backslash als zeilenumbruch.
kann mir hier irgendwer nen heissen tipp geben, wie ich sowas geschickt lösen kann? gibt es für for auch so nen schalter wie bei read -r , der bewirkt, dass for die backslashes als teil des strings ansieht?