In einer alten Version von Unix rmlö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 -dangewiesen wird rm, Verzeichnisse zu entfernen, wenn sie leer sind.
So weit, ist es gut. Dieser Alias ermöglicht es mir, rmwie früher zu verwenden. Ich möchte jedoch noch einen Schritt weiter gehen. ich würde gernermein 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 rmalle Verzeichnisse entfernen, sobald Sie ganz unten sind .
Könnte dies als Alias geschrieben werden, der weiterhin als regulärer Alias fungiert rmund 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 rmund alles darunter entfernen lassen.
rmdir -p?