Am Dienstag, 21. Juni 2011 schrieb Alexander Skwar: > Hi! > > 2011/6/21 Heiko Schlittermann <hs@schlittermann.de> > > > Martin Steigerwald <Martin@lichtvoll.de> (Tue Jun 21 09:10:42 2011): > > > Am Dienstag, 21. Juni 2011 schrieb Heiko Schlittermann: > > > > rmdir PFAD 2>/dev/null || rm PFAD > > > > > > Potentiell zwei Befehle. Gehts mit einem? ;) > > > > erem() { rmdir "$@" 2>/dev/null || rm "$@"; } > > > > Aber das hättest Du auch alleine geschafft ☺ > > Das führt aber im "schlimmsten" Fall immer noch bis zu 2 externe > Befehle aus - "furchtbar" ☺ > > erem() { test -d "$@" && rmdir "$@" || rm "$@"; } > > Da test ein Shell Builtin ist (bei bash und ksh) wird so nur 1 externer > Befehl aufgerufen - aber ob das SOOO wichtig ist... ;) Heldenhaft ;) - das geht schon in die Richtung, die ich im Sinn hatte. Sieht aber komplizierter aus, wie meine find -delete-Variante. Okay, ich sehe einfach, dass es offenbar einen solchen Befehl nicht im Standardumfang gibt, bzw. Moment mal: martin@merkaba:/tmp> mkdir test martin@merkaba:/tmp> unlink test unlink: Entfernen (unlink) von „test“ nicht möglich: Ist ein Verzeichnis martin@merkaba:/tmp#1> Schade, klappt auch nicht ;), wie es auch schon in der Manpage angedeutet ist. Und das shred nicht mit Verzeichnissen funktioniert ist irgendwo logisch. Naja, das geht bis auf Betriebssystem-Ebene runter. So wie es aussieht, ist die System-Funktion unlink() nur in der Lage, Dateien zu löschen. Fürs Entfernen von Verzeichnissen gibts rmdir(), also sind die Befehle in der Semantik ziemlich nahe an den System-Funktionen. -- Martin 'Helios' Steigerwald - http://www.Lichtvoll.de GPG: 03B0 0D6C 0040 0710 4AFA B82F 991B EAAC A599 84C7
Attachment:
signature.asc
Description: This is a digitally signed message part.