Heim >Betrieb und Instandhaltung >Betrieb und Wartung von Linux >Ausführliche Erläuterung von Linux-Arrays und assoziativen Arrays
Array ist ein sehr wichtiger Teil des Shell-Skripts. Es speichert mithilfe eines Index mehrere unabhängige Daten als Sammlung. Gewöhnliche Arrays können nur ganze Zahlen als Array-Indizes verwenden. Bash unterstützt auch assoziative Arrays, die Strings als Array-Indizes verwenden können. In vielen Fällen ist die String-Indizierung einfacher zu verstehen, und hier erweisen sich assoziative Arrays als nützlich. Hier sehen wir die Verwendung gewöhnlicher Arrays und assoziativer Arrays.
(1) Es gibt viele Möglichkeiten, ein Array zu definieren. Sie können eine Wertespalte in einer einzelnen Zeile verwenden, um ein Array zu definieren:
array_var=(1 2 3 4 5 6)
#Diese Werte werden an aufeinanderfolgenden Positionen beginnend mit dem Index 0 Darüber hinaus können Arrays auch als Satz von „Indexwerten“ definiert werden:
array_var[0]="test1"
array_var[1]="test2"
array_var[2]= "test3"
array_var [3]="test4"
array_var[4]="test5"
array_var[5]="test6"
[rhx@localhost Test]$ vim arr.sh
[rhx@localhost Test]$ source arr.sh [rhx@localhost Test]$ echo ${array[0]} //输出:1 [rhx@localhost Test]$ echo ${array[*]} //输出数组元素:1 2 3 4 5 6 7 8 9 10 [rhx@localhost Test]$ echo ${array[@]} //输出数组元素1 2 3 4 5 6 7 8 9 10 [rhx@localhost Test]$ echo ${#array[@]} //输出数组长度:10 [rhx@localhost Test]$ echo ${#array[*]} //输出数组长度:10Assoziative Arrays wurden ab Bash Version 4.0 eingeführt. Mithilfe von Hashing-Techniken werden assoziative Arrays zu einem leistungsstarken Werkzeug zur Lösung vieler Probleme. Finden wir es als nächstes heraus.
1. Definieren Sie ein assoziatives Array
[rhx@localhost Test]$declare -A ass_arrayNach der Deklaration gibt es zwei Möglichkeiten, Elemente zu einem assoziativen Array hinzuzufügen.
Nutzen Sie die Methode der eingebetteten „Indexwert“-Liste, um eine „Indexwert“-Liste bereitzustellen:
$ ass_array=([index1]=val1 [index2]=val2)
Verwenden Sie unabhängige „ „Indexwert“-Zuweisung:
$ ass_array[index1]=val1
$ ass_array'index2]=val2
[rhx@localhost Test]$ declare -A fruit_value [rhx@localhost Test]$ fruit_value=([apple]="100"[orange]="150") [rhx@localhost Test]$ echo ${fruit_value[apple]}2. Listen Sie den Array-Index auf
Jedes Array-Element verfügt über einen Index für die Suche. Normale Arrays und assoziative Arrays haben unterschiedliche Indextypen. Wir können die folgende Methode verwenden, um die Indexliste des Arrays abzurufen:
$ echo ${!array_var[*]}
Sie können auch verwenden:
$ echo ${!array_var[@]
Nehmen Sie zuvor das Array „fruits_value“ als Beispiel:
$ echo ${!fruits_value[*]}
orange apple
Für gewöhnliche Arrays ist diese Methode auch möglich.
Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung von Linux-Arrays und assoziativen Arrays. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!