array[i]

F

flix

Jungspund
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?
 
Zuletzt bearbeitet:
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
 
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?
 

Ähnliche Themen

nach ssh-login auswerte ob passwortabfrage komt oder nicht

Anzahl Elemente in Array hochzählen

bash: Fehlermeldung und Werte in Array sortieren?

C Programm unter Unix

rsync: Quelle größer als Ziel => "Archiv" aufteilen/splitten

Zurück
Oben