W starej wersji Uniksa rmpolecenie usuwałoby katalogi, gdyby były puste. Ze strony podręcznika Research Unix Eighth Edition dla rm : „Jeśli wpis jest katalogiem, jest usuwany tylko wtedy, gdy jest pusty”. Podoba mi się to zachowanie, więc mam ten alias /etc/profile: alias rm='rm -d'używam wersji GNU coreutils rm, w której -dkaże rmiść do przodu i usuwać katalogi, jeśli są puste.
Na razie w porządku. Ten alias pozwala mi używać rmjak za dawnych czasów. Chciałbym jednak pójść o krok dalej. chciałbymrmaby usunąć katalog, nawet jeśli katalog zawiera inne katalogi, o ile katalogi są tam jedyne. Nie ma znaczenia, jak głęboka jest struktura katalogów, o ile nie ma tam żadnych plików, po prostu puste (po przejściu na dół) katalogi, chciałbym rmje wszystkie usunąć.
Czy można to zapisać jako alias, który nadal działałby jako zwykły rmi usuwał wszelkie przekazywane do niego pliki?
mkdir -p a/b1/c2 && mkdir -p a/b2/c2; rmdir -p a/b1/c1;, wciąż pozostanie mi a, a / b2 i a / b2 / c2. Chciałbym przekazać tylko najwyższy poziom (w tym przypadku a) rmi usunąć wszystko poniżej.
rmdir -p?