Es gibt viele Anleitungen , die zeigen, wie ein Array deklariert und definiert wird
foo[0]=abc
foo[1]=def
Ich versuche, ein Array zu deklarieren, aber nicht zu definieren, da es nicht sofort definiert werden muss. In den meisten Programmiersprachen sieht es so aus
Sie können festlegen, dass eine Variable ein Array ist, indem Sie ein leeres Array wie folgt erstellen:
var_name=()
var_name wird dann ein Array sein, wie von gemeldet
$ declare -p var_name
declare -a var_name='()'
Beispiel:
var_name=()for i in{1..10};do
var_name[$i]="Field $i of the list"done
declare -p var_name
echo "Field 5 is: ${var_name[5]}"
was so etwas ausgibt:
declare -a var_name='([1]="Field 1 of the list" [2]="Field 2 of the list" [3]="Field 3 of the list" [4]="Field 4 of the list" [5]="Field 5 of the list" [6]="Field 6 of the list" [7]="Field 7 of the list" [8]="Field 8 of the list" [9]="Field 9 of the list" [10]="Field 10 of the list")'Field5 is:Field5 of the list
minerz029, @am: ..und wie werden die Elemente definiert? Ich habe versucht , konnte aber nur definieren / access eine einzelne Zeichenfolge .. ein kleines Beispiel zu definieren und den Zugriff , die Werte zu Array - Variable wäre toll ...
präzise
gut herausgefunden, dass .. Ich fehlte die Klammern ..
präzise
4
Zusätzlich zu der obigen Methode können wir auch ein Array durch eine declare-Anweisung erstellen.
Die declare-Anweisung mit der Option -a kann verwendet werden, um eine Variable als Array zu deklarieren. Dies ist jedoch nicht erforderlich. Alle Variablen können ohne explizite Definition als Arrays verwendet werden. Tatsächlich scheinen alle Variablen in gewissem Sinne Arrays zu sein, und diese Zuweisung ohne Index entspricht der Zuweisung zu "[0]". Die explizite Deklaration eines Arrays erfolgt mithilfe der integrierten Deklaration:
declare -a ARRAYNAME
Assoziative Arrays werden mit erstellt
declare -A name.
Attribute können für eine Arrayvariable mit den integrierten Funktionen declare und readonly angegeben werden. Jedes Attribut gilt für alle Mitglieder eines Arrays.
Nachdem Sie eine Array-Variable festgelegt haben, greifen Sie wie folgt darauf zu:
Dies ist eigentlich das Gleiche wie C. In C können wir das Array nach Ihren Wünschen verwenden. Hier können wir ein leeres Array nehmen und dann beliebige Werte setzen.
bar=()
Einfache For-Schleife, um den Wert in diesem Array zu übernehmen und Folgendes auszudrucken:
bar=()for((i=0;i<10;i++));do
read bar[$i]#Take Value in bar array
echo bar[$i]done
Zusätzlich zu der obigen Methode können wir auch ein Array durch eine declare-Anweisung erstellen.
Die declare-Anweisung mit der Option -a kann verwendet werden, um eine Variable als Array zu deklarieren. Dies ist jedoch nicht erforderlich. Alle Variablen können ohne explizite Definition als Arrays verwendet werden. Tatsächlich scheinen alle Variablen in gewissem Sinne Arrays zu sein, und diese Zuweisung ohne Index entspricht der Zuweisung zu "[0]". Die explizite Deklaration eines Arrays erfolgt mithilfe der integrierten Deklaration:
Assoziative Arrays werden mit erstellt
Attribute können für eine Arrayvariable mit den integrierten Funktionen declare und readonly angegeben werden. Jedes Attribut gilt für alle Mitglieder eines Arrays.
Nachdem Sie eine Array-Variable festgelegt haben, greifen Sie wie folgt darauf zu:
quelle
Dies ist eigentlich das Gleiche wie C. In C können wir das Array nach Ihren Wünschen verwenden. Hier können wir ein leeres Array nehmen und dann beliebige Werte setzen.
Einfache For-Schleife, um den Wert in diesem Array zu übernehmen und Folgendes auszudrucken:
Ich hoffe es hilft.
quelle