for each schleife und arrays

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von Nemesis, 31.12.2008.

  1. #1 Nemesis, 31.12.2008
    Nemesis

    Nemesis N3RD

    Dabei seit:
    28.01.2005
    Beiträge:
    2.165
    Zustimmungen:
    0
    hi,
    ich will in ein Firewallscript eine for-schleife einbauen, um die sache übersichtlicher und kürzer zu gestalten.
    ich speichere ip-adressen in einem array, und möchte nun, dass eine schleife für jedes element in dem array 1x ausgeführt wird. sprich, das array hat 3 elemente inhalt, also soll die schleife 3x ausgeführt werden.

    bsp:
    Code:
    array[1]=1
    array[2]=2
    array[3]=3
    
    for ((i=1; i<=3 ; i++)) do
    echo ${array[$i]};
    done
    das problem an diesem beispiel ist, wenn ich das array erweitere auf 4, 5 oder 6 inhalte, dann muss ich jedesmal die schleife anpassen, das möchte ich mir ersparen, er solls für jeden inhalt in dem array ausführen.

    thx
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. L0s3r

    L0s3r Tripel-As

    Dabei seit:
    22.09.2007
    Beiträge:
    216
    Zustimmungen:
    0
    Ort:
    MV
    Code:
    array=( 1 2 3 )
    
    for ((i=0; i<${#array[*]}; i++)) do
    echo ${array[$i]};
    done
    echo ${#array[*]} gibt die Anzahl der Elemente im Array aus ;)
     
  4. #3 juan_, 31.12.2008
    Zuletzt bearbeitet: 31.12.2008
    juan_

    juan_ König

    Dabei seit:
    22.01.2004
    Beiträge:
    992
    Zustimmungen:
    0
    Ort:
    Berlin

    lass deine schleife bis array.length gehen.

    ciao

    //edit: ist dass Bsp. von oben nicht eh falsch ist? Dein Array hat schon im obigen Beispiel die Länge 4, oder wird array[0] als nicht beschreiben gesehen?
     
  5. #4 Nemesis, 31.12.2008
    Zuletzt bearbeitet: 31.12.2008
    Nemesis

    Nemesis N3RD

    Dabei seit:
    28.01.2005
    Beiträge:
    2.165
    Zustimmungen:
    0
    ja, ahm ... ich lass die 0 immer gerne weg ... frag nicht warum ;)

    jo, das funktioniert mit ner # davor, ich habs ohne probiert, dann gibt er den gesammten inhalt aus

    thx!
     
  6. #5 Gott_in_schwarz, 31.12.2008
    Gott_in_schwarz

    Gott_in_schwarz ar0

    Dabei seit:
    22.04.2007
    Beiträge:
    546
    Zustimmungen:
    0
    Ort:
    Niedersachsen
    Warum nicht einfach:
    Code:
    for item in "${array[@]}"; do echo $item; done
    o0?
    Wenn der Index zwingend benötigt wird würde ich den halt noch extra mitlaufen lassen, also:
    Code:
    i=0; for item in "${array[@]}"; do echo $item; ((i++)); done
    IMHO wesentlich übersichtlicher...
     
  7. #6 Wolfgang, 01.01.2009
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Du redest von der bash?
    Oder?
    In der C-Shell ist das nämlich ganz anders.
    Aber zur Bash:
    Das zeigt, warum die Lösung vom "Gott_in_schwarz" funktioniert.

    Gesundes Neues

    Wolfgang
     
  8. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
Thema: for each schleife und arrays
Besucher kamen mit folgenden Suchen
  1. shell array for schleife

Die Seite wird geladen...

for each schleife und arrays - Ähnliche Themen

  1. Neuer Laptop was beachten?

    Neuer Laptop was beachten?: Ich will mir eine neuen Laptop kaufen es gibt 2 Modelle aber irgend wie denke ich das es ein Dell wird. Welches OS könnt ihr empfehlen für...
  2. EU-Institutionen beachten Richtlinien zu offenen Dokumentenformaten nicht

    EU-Institutionen beachten Richtlinien zu offenen Dokumentenformaten nicht: Die überwiegende Mehrheit der EU-Offiziellen, die Dokumente im Internet veröffentlichen, ignorieren die Richtlinien der EU zu offenen...
  3. EU-Institutionen beachten Richtlinien zu offenen Dokumentenformaten nicht

    EU-Institutionen beachten Richtlinien zu offenen Dokumentenformaten nicht: Die überwiegende Mehrheit der EU-Offiziellen, die Dokumente im Internet veröffentlichen, ignorieren die Richtlinien der EU zu offenen...
  4. Artikel: »cut out selected fields of each line of a file«

    Artikel: »cut out selected fields of each line of a file«: Ein klassisches Programm im Unix-Werkzeugkasten ist cut. In keinem ordentlichen Tutorial zur Shellprogrammierung fehlt es, denn es ist ein...
  5. Outreach Program for Women wird zu Outreachy

    Outreach Program for Women wird zu Outreachy: Das Outreachy-Programm, früher »Outreach Program for Women«, ist in die zehnte Runde gestartet. Es soll helfen, mehr Frauen in freie...