In einer alten Version von Unix rm
löschte der Befehl Verzeichnisse, wenn sie leer waren. In der Manpage der Research Unix Eighth Edition für rm : "Wenn ein Eintrag ein Verzeichnis ist, wird er nur entfernt, wenn er leer ist." Ich mag dieses Verhalten, daher habe ich diesen Alias in meinem /etc/profile
: alias rm='rm -d'
Ich verwende die GNU-Coreutils-Version von rm
, in der -d
angewiesen wird rm
, Verzeichnisse zu entfernen, wenn sie leer sind.
So weit, ist es gut. Dieser Alias ermöglicht es mir, rm
wie früher zu verwenden. Ich möchte jedoch noch einen Schritt weiter gehen. ich würde gernerm
ein Verzeichnis zu löschen, auch wenn das Verzeichnis andere Verzeichnisse enthält, solange nur Verzeichnisse vorhanden sind. Es spielt keine Rolle, wie tief die Verzeichnisstruktur reicht, solange sich keine Dateien darin befinden. Ich möchte nur rm
alle Verzeichnisse entfernen, sobald Sie ganz unten sind .
Könnte dies als Alias geschrieben werden, der weiterhin als regulärer Alias fungiert rm
und alle an ihn übergebenen Dateien löscht?
mkdir -p a/b1/c2 && mkdir -p a/b2/c2; rmdir -p a/b1/c1;
, habe ich immer noch a, a / b2 und a / b2 / c2. Ich möchte nur die oberste Ebene (in diesem Fall a) übergeben rm
und alles darunter entfernen lassen.
rmdir -p
?