Anzeige:
Ergebnis 1 bis 4 von 4

Thema: Frage : Shell Script - Schleifen

  1. #1
    Registrierter Benutzer
    Registriert seit
    23.10.2005
    Beiträge
    25

    Frage : Shell Script - Schleifen

    Hallo,

    ich hab eine kleine Frage zu einen Shell Script !

    Ich habe eine Text Datei mit Einträgen wie in einem Telefonbuch :

    Hans Michel, Bismarckstr. 5, 76333 Neustadt
    Frank Debehr, Siebenweg. 17, 76333 Neustadt
    Helga Michel, Bismarckstr. 7, 76333 Neustadt
    Gabi Michel, Elsassstr. 5, 89543 Altstadt

    Dazu gibt es folgendes Script :

    Code:
    #!/bin/bash
    # Lösung zu Aufgabe 1 " Adressbuch "
    echo "Lösung zu Aufgabe 1"
    
    # Test ob genug Parameter
    if test $# -lt 1 
     then
       echo ""
       echo "Zu Wenig Parameter !"
       echo "Aufruf " $0 "+ Adressbuchdatei + Parameter...."
       echo ""
       exit 1
    fi
    
    # Speichern der Einträge der Adressbuchdatei in Variable
    adressbook=`cat "$1"`
    shift 1
    # Abarbeiten der Parameter
    
    for i
     do
      adressbook=`echo "$adressbook" | grep "$i"` 
     done
     echo "$adressbook"
     exit 0 
    fi
    Mit einem Aufruf wie z.B.

    ./script_1.sh adressen_bsp_1.txt "Bis"

    Gibt es folgende Ausgabe :

    Lösung zu Aufgabe 1
    Hans Michel, Bismarckstr. 5, 76333 Neustadt
    Helga Michel, Bismarckstr. 7, 76333 Neustadt

    Mit

    ./script_1.sh adressen_bsp_1.txt "Bis" Helg

    Gibt es folgende Ausgabe

    Lösung zu Aufgabe 1
    Helga Michel, Bismarckstr. 7, 76333 Neustadt

    Meine Frage ist der folgende Teil :

    Code:
    # Abarbeiten der Parameter
    
    for i
     do
      adressbook=`echo "$adressbook" | grep "$i"` 
     done
     echo "$adressbook"
     exit 0 
    fi
    Wieso kann ich das nicht so machen :

    Code:
    for i
     do
      adressbook=`echo "$adressbook" | grep "$i"`
     done
     fi
     echo "$adressbook"
     exit 0
    Als Fehlermeldung bekomme ich :

    Lösung zu Aufgabe 1
    ./script_1.sh: line 24: syntax error near unexpected token `fi'
    ./script_1.sh: line 24: ` fi'

    Kann mir das einer vielleicht erklären ?

  2. #2
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Besser du erklärst mir wass das fi dort überhaupt zu suchen hat. Ich sehe weder in der drittletzten Zeile noch ganz am Ende irgendwas was nach einem fi schreit (fi beendet ein if, aber da ist kein angefangenes if?)

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  3. #3
    Registrierter Benutzer
    Registriert seit
    23.10.2005
    Beiträge
    25
    Das ist wohl wahr, da war zuerst ein if, dann habe ich es mit for gemacht, das fi ist ein da wohl noch irgendwie geblieben, das erklärt so einiger, danke für den kleinen Tipp.

  4. #4
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Sag mal: Die erste Variante - ergibt die bei dir keinen Syntaxfehler?

    Habs jetzt eben mal versucht und bei mir sagt der "line x: syntax error near unexpected token `fi'"

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

Lesezeichen

Berechtigungen

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