Linux bash script: Datei verschieben nur wenn Zielverzeichnis leer
Hallo!
ich steh gerade total auf dem Schlauch: Ich muss in einem Skript viele Dateien in ein bestimmtes Verzeichnis verschieben, in dem sie von einem anderen Prozess weiter verarbeitet werden. Damit die Bearbeitungsreihenfolge nicht durcheinander gerät, möchte ich vor dem Verschieben prüfen, ob das Zielverzeichnis leer ist. Wenn nicht soll die Prüfung in ein paar Sekunden nochmals erfolgen.
ich habe bisher:
zum Verschieben
Zum Prüfen, ob das Verzeichnis leer ist:
Wahrscheinlich ist die if-Schleife einfach das falsche Konstrukt?
Danke für Eure Hilfe!
Olaf
ich steh gerade total auf dem Schlauch: Ich muss in einem Skript viele Dateien in ein bestimmtes Verzeichnis verschieben, in dem sie von einem anderen Prozess weiter verarbeitet werden. Damit die Bearbeitungsreihenfolge nicht durcheinander gerät, möchte ich vor dem Verschieben prüfen, ob das Zielverzeichnis leer ist. Wenn nicht soll die Prüfung in ein paar Sekunden nochmals erfolgen.
ich habe bisher:
zum Verschieben
#!/bin/bash
for i in /app/blablup/* ; do
#hier noch einbauen: Zielverzeichnis prüfen ob leer
mv ${i} /app/palimpalim
done
Zum Prüfen, ob das Verzeichnis leer ist:
cd /app/palimpalim
list=$(echo *)
if [ "$list" = "*" ]
then
#leer
#hier also Datei verschieben
else
#nichtleer
sleep 10
#ja, und jetzt? wie komme ich zur erneuten Prüfung, ob das Verzeichnis nun endlich leer ist?
fi
Wahrscheinlich ist die if-Schleife einfach das falsche Konstrukt?
Danke für Eure Hilfe!
Olaf
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 278455
Url: https://administrator.de/contentid/278455
Ausgedruckt am: 23.11.2024 um 05:11 Uhr
2 Kommentare
Neuester Kommentar