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.