Anzeige:
Ergebnis 1 bis 4 von 4

Thema: globale Variblen in Schleifen...

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Registrierter Benutzer
    Registriert seit
    14.04.1999
    Ort
    Rheinstetten
    Beiträge
    122

    Question globale Variblen in Schleifen...

    edit: Sorry, im Titel vergessen. Es geht um ein Bash Script.

    Hallo,

    obwohl ich mich schon sehr, sehr lange mit Bash Scripten auseinander setze, ist mir noch nie aufgefallen, dass es eine Einschränkung bei globalen Variablen in Schleifen gibt. Oder habe ich irgend etwas verpasst.

    Ein Beispiel:
    Code:
    #!/bin/bash
    SDir="/irgend/ein/verzeichnis"
    FoundCound=0
    find "$SDir" -type f -iname "*.txt" | while read -r FFile
      do
      IsText=$(grep -i "test" "$FFile")
      [ -n "$IsText" ] && FoundCount=$((FoundCount+1))
      echo -n -e "\t==> $FoundCount\r"
    done
    echo "Text gefunden in $FoundCount dateien."
    So und genau da klappt es nicht (mehr?). FoundCount wird innerhalb der Schleife sauber hoch gezählt, wenn etwas gefunden wird. Aber nach der Schleife ist es immer 0.
    Übersehe ich irgend etwas, oder warum ist der Wert nach der Schleife immer 0? Die Variable ist doch schon vor der Schleife definiert und zählt auch innerhalb der Schleife hoch.

    Gruß
    Robert
    Geändert von robert (08-04-2017 um 01:23 Uhr)

Lesezeichen

Berechtigungen

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