[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