Hallo Christian, Hallo * Am Montag, 27. Dezember 2004 21:42 schrieb Christian Boltz:
Am Montag, 27. Dezember 2004 12:23 schrieb Andreas Loesch:
ich hab hier ein kleines Script Problem und hoffe Ihr habt eine Idee:
Ziel: es soll Interaktiv ein Text von stdin eingelesen werden, der Text soll entweder mit einem '.' in einer sonst leeren Zeile oder mit ctrl-d fertig sein (vgl. mail) [...] Problem: wenn ich leere zeilen eingeben will, verschwinden die :( read akzeptiert keine leeren Zeilen.
Doch, allerdings scheint bei Backtick-Operationen \n am Ende entfernt zu werden (auch bei mehrfachem Vorkommen).
nagut :) und wo steht das schon wieder... [...]
MSG="$MSG\n$in" # erstmal nur zusammensetzen
die Idee ist gut, danke! Auf die abschließenden Leerzeilen kann ich wohl verzichten, so dass ich so und mit
MSG="`echo -e \"$MSG\"`" # jetzt \n durch Zeilenumbrüche ersetzen
dem hier hinkomme.
Wenn Du auf das Expandieren in Backticks verzichten kannst, bekommst Du (wie bei test 1) alle Leerzeilen.
evtl. geht das auch, muss ich mal überlegen, ansonsten könnte ich die letzten \n zählen und damit noch etwas basteln...
Ach so: Du solltest ganz am Anfang der Routine unset MSG verwenden, sonst wird es bei mehrfachem Aufruf interessant ;-)
z.zt. wir die Routine nur einmal aufgerufen :) aber danke für den Hinweis Gruss Andreas