Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
leere Verzeichnisse

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Software
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
zsm



Anmeldungsdatum: 12.06.2001
Beiträge: 56

BeitragVerfasst am: 10. Apr 2002 15:50   Titel: leere Verzeichnisse

Hallo,

wie kann ich per Shell Skript ein leeres Verzeichnis erkennen?

test hat ja scheinbar nur für Dateien brauchbar.

Gibt es sowas auch für Verzeichnisse?

Florian
_________________
The box said "Windows 95, 98 or better" - so I installed Linux ...
 
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen

Jochen
Gast





BeitragVerfasst am: 11. Apr 2002 9:26   Titel: Re: leere Verzeichnisse

code:

dir_is_empty() {
if [ ! -d "$1" ] ; then
return 2 # Parameter ist kein Verzeichnis
fi
NUM_DIRENTRIES=`ls -a "$1" | wc -l`
if [ "$NUM_DIRENTRIES" -eq 2 ] ; then
return 0 # Leeres Verzeichnis
fi
return 1 # Nicht-leeres Verzeichnis
}



Pack Dir die Funktion in Dein Skript und verwende wie folgt:

if dir_is_empty $MEIN_VERZEICHNIS ; then
echo "Das Verzeichnis ist aber leer."
else
echo "OK, $MEIN_VERZEICHNIS hat noch Inhalt."
fi
Hintergrund: Jedes Verzeichnis muss mindestens 2 Einträge besitzen: "." als Verweis auf sich selbst und ".." als Verweis auf das übergeordnete Verzeichnis. Die Funktion zählt lediglich die Anzahl Einträge; bei 2 (eben "." und "..") ist das Verzeichnis leer. Damit die Funktion mit Sicherheit arbeiten kann, wird vorher geprüft, ob der Parameter überhaupt ein Verzeichnis ist. Bei leerem Verzeichnis ist der Return-Code 0 (logisch wahr für die Shell), bei nicht leerem Verzeichnis 1 (logisch falsch für die Shell) und bei Nicht-Verzeichnis 2 (auch logisch falsch ).

Jochen
 

zsm



Anmeldungsdatum: 12.06.2001
Beiträge: 56

BeitragVerfasst am: 11. Apr 2002 10:23   Titel: Re: leere Verzeichnisse

Danke
 
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Software Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy