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

Re: while done und ein Counter



Hallo,


On 06/08/2016 04:35:43 PM, Joachim Hartmann wrote:
Leider funktioniert das Zählen nicht wie gewünscht:

Mir ist unklar warum das korrekte Zählwerbgis die Schleife nicht "verlässt"!
Die Schleife läuft in einer Subshell. Mit export kannst Du von oben (parent) nach unten (child/subshell) Variablen durchreichen -- in der umgekehrten Richtung funktioniert das aber nicht. Du könntest also dafür sorgen, dass die Schleife nicht als Subshell läuft. Im Advanced Bashscripting Guide gibt es dazu ein schönes Beispiel [1]. Bei Dir müsste das in etwa so aussehen:

***
  for x in $(find -type f -name '????-??-??*.gpx') do
    # prüfen ob Datei schon vorhanden
    if [ ! -f "$Z_Datei" ]; then
       Anzahl=$[Anzahl + 1]
    fi
  done

***

Eine andere Möglichkeit wäre, die Schleife in eine Funktion auszulagern und an deren Ende per

***
echo "$Anzahl"
***

den Wert der Variablen auszugeben (Aufruf per "Anzahl=function").

Ich hoffe das hilft! Schönen Gruß

Andreas

[1] http://tldp.org/LDP/abs/html/gotchas.html#BADREAD

Attachment: pgp3qq9iGuNm0.pgp
Description: PGP signature


Reply to: