for each schleife und arrays

Diskutiere for each schleife und arrays im Shell-Skripte Forum im Bereich Programmieren unter Linux/Unix; hi, ich will in ein Firewallscript eine for-schleife einbauen, um die sache übersichtlicher und kürzer zu gestalten. ich speichere ip-adressen...

  1. #1 Nemesis, 31.12.2008
    Nemesis

    Nemesis N3RD

    Dabei seit:
    28.01.2005
    Beiträge:
    2.168
    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. 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 ;)
     
  3. #3 juan_, 31.12.2008
    Zuletzt bearbeitet: 31.12.2008
    juan_

    juan_ König

    Dabei seit:
    22.01.2004
    Beiträge:
    994
    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?
     
  4. #4 Nemesis, 31.12.2008
    Zuletzt bearbeitet: 31.12.2008
    Nemesis

    Nemesis N3RD

    Dabei seit:
    28.01.2005
    Beiträge:
    2.168
    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!
     
  5. #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...
     
  6. #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
     
Thema: for each schleife und arrays
Besucher kamen mit folgenden Suchen
  1. for each schleife

    ,
  2. 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...