Anzeige:
Ergebnis 1 bis 5 von 5

Thema: kleines schleifen prob

  1. #1
    Registrierter Benutzer
    Registriert seit
    02.07.2003
    Ort
    Essen
    Beiträge
    20

    kleines schleifen prob

    solange tar läuft soll echo -n . ausgeben werden

    until [ `tar cf - $source* > /dev/null 2>&1 | bzip2 > $destination$dfile.$date.tar.bz2` ];
    do echo -n .
    done

    irgendwie versteh ich das nicht so ganz mit der schleife

    der tar legt zwar die datei an macht aber nicht weiter sie wird nie grösse al 14kb

    würde mich sehr freuen wenn jammand mal seine ideen dazu posten würde
    Geändert von Thallez (16-03-2004 um 23:41 Uhr)
    GREETINGS
    _-=Thallez=-_
    www.linuxfriends.org

  2. #2
    Registrierter Benutzer Avatar von Detrius
    Registriert seit
    09.03.2004
    Ort
    Altena
    Beiträge
    64
    Das ganze kann so nicht funktionieren. Die Abbruchbedingung, also der "tar..."-Kram für die until-do-Schleife wird bei jedem Durchlauf ausgeführt. Erst wenn die Bedingung zuende ist, wird der Rückgabewert von der Scheife ausgewertet. D.h. bei diesem Vorgehen wirst Du keine Punkte während des Packvorgangs angezeigt bekommen, sondern nur einen einzigen danach und dann auch nur wenn die until-Schleife überhaupt betreten wird. Wenn das passiert, hast du gleich das nächste Problem, weil es dann eine Endlosscheife wird.

    Wie wäre es, wenn du den tar-Befehl vor der Schleife startest, als Abbruchbedingung für die Schleife pidof benutzt und in die Schleife noch ein sleep 1 einbaust, damit nur einmal in der Sekunde ein Punkt ausgegeben wird?

  3. #3
    Registrierter Benutzer
    Registriert seit
    02.07.2003
    Ort
    Essen
    Beiträge
    20
    das ist eine gute idee

    wie ist denn der syntax für pidof?

    hast du da nen tip
    GREETINGS
    _-=Thallez=-_
    www.linuxfriends.org

  4. #4
    Registrierter Benutzer
    Registriert seit
    17.06.2003
    Beiträge
    37
    "pidof tar"

  5. #5
    Registrierter Benutzer
    Registriert seit
    02.07.2003
    Ort
    Essen
    Beiträge
    20
    also ich habe das jetzt so gemacht ich denke so meintet ihr es


    Code:
    tar cf - $source* > /dev/null 2>&1 | bzip2 > $destination$dfile.$date.tar.bz2
        until  [ "pidof bzip2" -eg "0" ]
        do sleep 1
           echo -n .
        done
    aber es geht nicht ich erhalte immer folgende meldung

    ./backup.sh: line 78: [: -eg: binary operator expected
    ../backup.sh: line 78: [: -eg: binary operator expected
    ../backup.sh: line 78: [: -eg: binary operator expected
    ../backup.sh: line 78: [: -eg: binary operator expected
    ../backup.sh: line 78: [: -eg: binary operator expected

    was ich nicht ganz verstehe
    Geändert von Thallez (18-03-2004 um 10:29 Uhr)
    GREETINGS
    _-=Thallez=-_
    www.linuxfriends.org

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •