array[i]

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von flix, 05.08.2009.

  1. #1 flix, 05.08.2009
    Zuletzt bearbeitet: 05.08.2009
    flix

    flix Jungspund

    Dabei seit:
    20.07.2009
    Beiträge:
    19
    Zustimmungen:
    0
    Hi,

    ich habe versehentlich einen fehler in meinem script eingebaut. es sollte ein array durchlaufen werden. startwert war i=0 und das array hieß array[$i]. i wurde jeweils um 1 erhöht. d.h. er speichert erst in array[0] dann array[1] etc. jetzt hab ich aber bei array[$i] das "$" vergessen. es hat aber trotzdem funktioniert?! hat array irgend eine sonderbedeutung? wenn ich für i z.b. b einsetze klappt es nämlich nicht mehr.

    EDIT:

    ich sehe grad, dass er für $i auch überhaupt keine zahl einsetzt:

    i=0
    array[$i]=`echo test`

    hab es dann geändert auf:

    array[${i}]=`echo test`

    aber auch das hilft nichts, er setzt keine zahl für das array ein, sprich er übeschreibt in jedem durchlauf das array wieder.

    was kann man da machen, dass er zwischen den [] den wert von $i einsetzt?
     
  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. #2 HeadCrash, 05.08.2009
    HeadCrash

    HeadCrash Routinier

    Dabei seit:
    16.05.2009
    Beiträge:
    482
    Zustimmungen:
    1
    Ort:
    Bayern
    Hallo,

    versuchs doch mal so

    Code:
    $ i=0
    $ ar[${i}]=hallo
    $ i=1
    $ ar[${i}]=welt
    $ i=2
    $ ar[${i}]=du
    $ i=3
    $ ar[${i}]=gaga
    
    $ echo ${ar[1]}
    welt
    $ echo ${ar[$i]}
    gaga
    $ i=1
    $ echo ${ar[$i]}
    welt
    
    Plus ein bisschen Lektüre http://tldp.org/LDP/abs/html/arrays.html

    mfg
    HeadCrash
     
  4. flix

    flix Jungspund

    Dabei seit:
    20.07.2009
    Beiträge:
    19
    Zustimmungen:
    0
    mein teil funktioniert ja auch, ich verstehe es nur nicht. bei dir ist übrigens das selbe:

    ++ i=0
    ++ ar[${i}]=hallo
    ++ i=1
    ++ ar[${i}]=welt
    ++ i=2
    ++ ar[${i}]=du
    ++ i=3
    ++ ar[${i}]=gaga
    ++ echo welt
    welt
    ++ echo gaga
    gaga
    ++ i=1
    ++ echo welt
    welt


    die variablen werdeen nicht eingesetzt auch wenn es funktioniert. evtl. nen fehler im debug modus?
     
Thema:

array[i]