Hallo, Am Die, 01 Mai 2007, Dr. Jürgen Vollmer schrieb:
Am Dienstag, 1. Mai 2007 schrieb mk-lists@email.de:
Hallo Martin & Jürgen,
for DIR in */; do cd "$DIR" [..] das mit Leerzeichen ist tückisch. und die for-Schleife der bash trennt halt bei denen.
Nein. Der for-Befehl ist ein builtin und die Dateinamen werden durch Expandierung des * erzeugt, da trennt die Shell nicht! Anders ist es, wenn man einen Befehl zu erzeugen der Liste verwendet, z.B: for DIR in `ls -d */`; do das fällt erwartungsgemäß auf die Schnauze.
Deshalb:
ls | while read DIR do (cd "$DIR"; .... ) done
Ist ok, funktioniert aber nur wenn keine Zeilenumbrüche in Dateinamen vorkommen. -dnh -- So Linus, what are we doing tonight? The same thing we do every night Tux. Try to take over the world! -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org