David Haller schrieb:
Am Tue, 04 Nov 2003, Thomas Hertweck schrieb:
David Haller schrieb: [..]
Also, wenn dann bitte:
for f in img*.jpg; do mv -i "$f" "${f/#img\_/2003-}"; done
Halte ich fuer unnoetig, wenn ich weiss, dass es keine Leer- zeichen gibt. Man kann es mit der "korrekten" Shell-Syntax auch uebertreiben.
[ ] Du kannst dich darauf verlassen, was in $IFS steht
Korrekt waere in deinem Fall:
OLD_IFS="$IFS" IFS=" " ## "<space><tab><newline>" <hier befehl ohne quoting> IFS="$OLD_IFS"
Kurzum: man will immer quoten, es sei denn man kann nicht (und das ist selten).
David, solche (Shell-)Spielchen kannst Du mit Jan machen, nicht aber mit mir :-)) Ich weiss, was mein $IFS ist und ich kenne mein System und ich quote genau dann, wenn es Sinn macht und nicht mehr... Wie schon gesagt: man kann alles uebertreiben. Ich hatte bisher noch nie Probleme mit meinen Skripten oder Shellbefehlen, und wir setzen hier neben Linux auch Irix, HP-UX und Solaris ein. Man muss sich eben anpassen. Ich nutze auch Bash-Features, wenn sie mir zur Verfuegung stehen auf dem System, wo ich gerade arbeite - warum sollte ich drauf verzichten, nur damit der Befehl, den ich gerade jetzt hier und momentan fuer eine Aufgabe brauche, portabel ist? Nee, Danke! ;-) Ich schrieb ja extra, dass es nur in diesem und jenem Fall funktioniert - ich hatte ja schon befuerchtet, dass darauf jemand anspringen wuerde. IMHO muss man da einfach mal ein bissl abwaegen, was _wirklich_ Sinn macht... Nichts fuer Ungut! Es ist echt gut, dass Du auf solche Feinheiten hinweist, aber nimm es mir nicht uebel, wenn ich das fuer ueber- trieben halte, wenn man genau weiss, was man fuer ein Problem zu loesen hat :-) Gruesse, Thomson