Hi,
ich möchte, in einem Skript, ein Verzeichnis prüfen ob es leer ist.
Die Lösung habe ich, es würde mich aber Interessieren ob es eleganter
geht.
if [ “`ls -A /mnt | wc -l`” -eq 0 ] ; then …..
Ein
if [ “`find /mnt -empty`” ]; then …..
geht Recursive durch /mnt und schlägt auf jedes leere Verzeichnis an und
hilft so nicht weiter.
Ein
if [ ! -s /mnt ] ; then …
oder
if [ -z /mnt ] ; then ….
zeigt auch nicht die gewünschte Reaktion.
Martin
Hallo Martin,
ist natürlich recht subjektiv, die Sache mit der Eleganz. Hier kurz ein paar Anmerkungen: Den FIND-Befehl kannst Du mit “-maxdepth N” auf eine max. Scantiefe begrenzen Die Sache mit “[ -z…]” hilft Dir relativ sicher nicht weiter Gleiches gilt für “[… -s…]” Für die letzten beiden Dinge solltest Du man test näher untersuchen!
MfG, Uli.
if [ “`ls -A /mnt | wc -l`” -eq 0 ] ; then …..
ls /mnt/* || echo “Verzeichnis leer oder nicht vorhanden”
ls /mnt/* || echo “Verzeichnis leer oder nicht vorhanden”
Könnte mir vielleicht jemand erklären, was an dem Vorschlag so schlecht sein soll?