[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

while done und ein Counter



Hallo,
das nachstehende Skript soll Dateien - unter einem anderen Namen - speichern so sie noch nicht vorhanden sind. Das klappt auch hervorragend. Es soll aber auch noch die Anzahl der kopierten Dateien ermittelt werden. Ist die Anzahl Null endet das Skript, anderenfalls soll ein weiterer - hier nicht aufgeführter - Teil ausgeführt werden. Leider funktioniert das Zählen nicht wie gewünscht:

~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
#!/bin/bash
###########################################################################
# Skript zum Kopieren der Tracks vom Server auf den Web-Server
###########################################################################

# Deklaration von Konstanten
  Q_Pfad="/home/quelle"
  Z_Pfad="/var/ziel"
  Anzahl=0

# In der Quellpfad wechseln da sonst Problem mit find bestehen
  cd "$Q_Pfad"

# Liste der GPX-Dateien erstellen und und abarbeiten
  find -type f -name '????-??-??*.gpx' | while read Q_Datei;   do
    # prüfen ob Datei schon vorhanden
    if [ ! -f "$Z_Datei" ]; then
       .				
       .				
       .				
       #################################################
       echo "1 Zwischensumme vor dem kopieren:  $Anzahl"
       #################################################
       cp  -u "$Q_Datei" "$Z_Datei"
       Anzahl=$[Anzahl + 1]
       #################################################
       echo "2 Zwischensumme nach dem kopieren: $Anzahl"
       echo ""
       #################################################
    fi
  done
  #################################################
  echo "3 Anzahl der kopieren Dateien:     $Anzahl"
  #################################################
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~

Der Aufruf des Skriptes erzeugt folgende Ausgabe:

~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
root@10:23:57# /etc/cron.daily/gpxcopy
1 Zwischensumme vor dem kopieren:  0
2 Zwischensumme nach dem kopieren: 1

1 Zwischensumme vor dem kopieren:  1
2 Zwischensumme nach dem kopieren: 2

3 Anzahl der kopieren Dateien:     0
root@10:24:00#
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~

Mir ist unklar warum das korrekte Zählwerbgis die Schleife nicht "verlässt"!
Wer weiss Rat, Google jedenfalls nicht! Oder ich stelle die Frage falsch.
--
Gruß aus der Stadt der CeBIT
Jochen


Reply to: