GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Linux – Wie kann man herausfinden, ob sich Dateien in einem Ordner befinden und entsprechend beenden (in Ksh)?

Ich habe ein KSH (nicht Bash )-Skript, das ich mit einer Überprüfung der Dateianzahl verhindern möchte. Wenn keine Dateien vorhanden sind, möchte ich „LEER“ drucken, dann beenden. Andernfalls fortfahren.

Das Problem ist, wenn ich die Dateizählung durchführe und sie LEER ist, dann bricht sie ab.

Code:

###################################################
# Test to see if files exist in Drop Folder
###################################################
CONTENTS=$(ls ${gp_path}ALLSTUFF*.zip)
if [[ ${#CONTENTS[@]} -eq 0 ]]; then
    print 'EMPTY'
    exit 0
else
    print 'NOT EMPTY'
fi

Wenn nicht leer, funktioniert es.

Wenn leer, erhalte ich den folgenden Fehler, dann bricht das System zusammen. Ich möchte, dass es nur LEER meldet und 0 verlässt:

Fehler:

/nas/Opt/databox/folder/ALLSTUFF*.zip not found

Was mache ich falsch?

Versuch #2

Ich habe das auch versucht, aber ich habe das gleiche Ergebnis:

if [ "$(ls ${gp_path}ALLSTUFF*.zip)" ]; then
    print 'NOT EMPTY'
else
    print 'EMPTY'
    exit 0
fi

Akzeptierte Antwort:

Sie können die Fehlermeldung mit 2>/dev/null verschwinden lassen innerhalb des ls .

Sie können dann überprüfen, ob $CONTENTS ist leer mit -z

CONTENTS=$(ls -d -- "${gp_path}ALLSTUFF"*.zip 2>/dev/null)
if [ -z "$CONTENTS" ]; then
    print 'EMPTY'
    exit 0
else
    print 'NOT EMPTY'
fi

Linux
  1. So finden und sortieren Sie Dateien basierend auf Änderungsdatum und -zeit in Linux

  2. So finden Sie große Dateien unter Linux mit den Befehlen find und du

  3. Linux – Wie finde ich heraus, welche Festplatten im System sind?

  4. Wie verschiebe ich Dateien und Verzeichnisse in den übergeordneten Ordner in Linux?

  5. Wie chmod und chown versteckte Dateien in Linux?

So finden und listen Sie die Dateien rekursiv nach Datum in Linux auf

So finden und löschen Sie doppelte Dateien in Linux

Älteste Datei finden und löschen, wenn mehr als X Dateien in einem Verzeichnis in Linux vorhanden sind

So finden Sie doppelte Dateien in Linux und entfernen sie

So zippen Sie Dateien und Ordner in Linux [Anfängertipp]

So komprimieren Sie Dateien und Ordner unter Linux