arrays in bashscript

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
thecrazylol
Beiträge: 94
Registriert: 26.09.2006 23:33:24
Wohnort: Leipzig
Kontaktdaten:

arrays in bashscript

Beitrag von thecrazylol » 31.01.2007 00:46:30

hi :-)
also ich spiele das browsergame http://www.inselkampf.de und speicher jedentag die punktelisten meiner allianz ab um zuschauen wie aktiv die member sind
ich will mir nun aber ne übersicht mit nem script erstellen lassen, ob das usability hat is mir egal ;-) ich seh es als übung :-)
ich weiß zwar wie man unter der bash array deklariert aber hab nichts zu dynamischen arrays gefunden :(
vllt könnte mir das ja mal kurz einer verklickern :) danke
Debian unser, der du bist im Himmel | xD

Benutzeravatar
HELLinG3R
Beiträge: 1328
Registriert: 15.04.2004 07:54:33

Beitrag von HELLinG3R » 31.01.2007 09:00:30

Perl macht Spass.

thecrazylol
Beiträge: 94
Registriert: 26.09.2006 23:33:24
Wohnort: Leipzig
Kontaktdaten:

Beitrag von thecrazylol » 01.02.2007 15:10:34

Gibt es keine Möglichkeit variable Arrays zuerstellen? Also die Indexspanne reicht mal von 30 bis 50, daher ist das dann nen bissl doof ;)
Debian unser, der du bist im Himmel | xD

Benutzeravatar
HELLinG3R
Beiträge: 1328
Registriert: 15.04.2004 07:54:33

Beitrag von HELLinG3R » 01.02.2007 16:03:53

Dann nimm perl. Perl ist einfach zu lernen und für sowas gut geeignet - gibt dir ausserdem nebenbei auch mehr Freiheiten, noch mehr einzubauen.
Perl macht Spass.

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 01.02.2007 16:22:24

was verstehst du eigentlich unter "variable Arrays" bzw " dynamischen arrays", sind das nicht alle Arrays in der Bash ?

thecrazylol
Beiträge: 94
Registriert: 26.09.2006 23:33:24
Wohnort: Leipzig
Kontaktdaten:

Beitrag von thecrazylol » 03.02.2007 15:22:13

Naja die fest definierten Arrays, wie das Beispiel vom Hellinger zeigte lässt nur zu eine Menge von N Indexen anzulegen die man bei der expliziten definierung von dem Array angibt, aber das ist nicht Sinn und Zweck der Sache ...
Der soll einfach einen neuen Index erzeugen und den Wert an die andern in einem neuen Index anhängen.
Sorry aber bin nicht der Pro-Programmer ;-) Also die ganzen Fachbegriffe sind für mich nur Spanisch
Werds wohl mal mit Perl probiern :)
Debian unser, der du bist im Himmel | xD

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 03.02.2007 17:12:00

thecrazylol hat geschrieben:Naja die fest definierten Arrays, wie das Beispiel vom Hellinger zeigte lässt nur zu eine Menge von N Indexen anzulegen die man bei der expliziten definierung von dem Array angibt, aber das ist nicht Sinn und Zweck der Sache ...
Das Beispiel vom HELLinG3R zeigt ja auch nur die einfachsten Operationen, hier noch ein paar zusätzliche:

Initialisierung:

Code: Alles auswählen

gms@gms1:~$ X=( a b c )
gms@gms1:~$ echo ${X[@]}
a b c
wir fügen ein Element hinten an:

Code: Alles auswählen

gms@gms1:~$ X[ ${#X[@]} ]=d
gms@gms1:~$ echo ${X[@]}
a b c d
wir fügen mehrere Elemente hinten an:

Code: Alles auswählen

gmst@gms1:~$ X=(${X[@]} e f g )
gms@gms1:~$ echo ${X[@]}
a b c d e f g
wir löschen ein Element

Code: Alles auswählen

root@gms1:~# unset X[3]
root@gms1:~# echo 2=${X[2]} 3=${X[3]} 4=${X[4]}
2=c 3= 4=e
Hier wurde also nur der Wert von Index 3 gelöscht, der Index ist also noch immer vergeben.
Wenn wir dies nicht wollen:

Code: Alles auswählen

root@gms1:~# X=( ${X[@]} )
root@gms1:~# echo 2=${X[2]} 3=${X[3]} 4=${X[4]}
2=c 3=e 4=f
[
davon möchte ich dich aber keinesfalls abbringen, ist in jedem Fall empfehlenswert :)

Gruß
gms





Gruß
gms

Antworten