[linux-l] Subtilitäten von find und xargs (was: rm -r)

Mike Dornberger Mike.Dornberger at gmx.de
Mo Okt 29 04:13:51 CET 2007


Hi,

On Sun, Oct 28, 2007 at 11:22:03PM +0100, Volker Grabsch wrote:
> [Thema etwas aufgeweicht]
> 
> Naja, bis auf, dass man lieber
> 
>     find ... | xargs --null rm --
> 
> schreiben sollte. Das ist allgemein für Shellscripte wichtig,
> sonst könnte z.B. eine Datei namens "-rf" zu äußerst unangenehmen
> Nebeneffekten führen ...

hm, das kann einem doch eigentlich hier gar nicht auf die Füße fallen, oder?
Entweder sage ich find . [...] (aktuelles Verzeichnis), dann fängt jedes
Ergebnis aber auch mit ./<name> an, also auch ./-rf, falls es so eine Datei/
Verzeichnis gibt, oder, falls man find * oder soetwas macht (bzw. direkt -rf
hinschreibt), wird find rummeckern, daß es die Option nicht kennt. Dann muß
man es auch als ./-rf angeben, und wieder enthalten die Ergebnisse ./ am
Anfang. Natürlich schadet das -- hinter rm auf keinen Fall... bzw. je
nachdem doch wieder:

Bei kurzen Überfliegen von
http://www.opengroup.org/onlinepubs/009695399/utilities/rm.html finde ich --
nicht, also nix POSIX oder bin ich gerade nur zu müde? :) Na gut, ist
-print0 bei find und --null bei xargs ja eh auch schon nicht...

> (Das "rm" unter Solaris macht's übrigens richtig, auch wenn die
> Solaris-Tools an anderer Stelle den GNU-Werkzeugen wiederum weit
> hinterher hinken.)

Naja, ich hatte noch nicht das Vergnügen einer nicht-GNU-Umgebung, nur
cygwin und GNU/Linux bisher, was mich aber nicht davon abhält, meine Scripte
nach bestem Wissen und Gewissen POSIX-konform zu halten.

<bla>Schade, das die Debian-Weekly-News nicht mehr regelmäßig erscheinen, da
hatte ich doch einiges gelernt. (Stichwort: Ausbügeln von bashisms und
XSI:isms aus den init.d-Scripts)</bla>

Gruß,
 Mike



Mehr Informationen über die Mailingliste linux-l