Heim > Betrieb und Instandhaltung > Betrieb und Wartung von Linux > Ausführliche Erläuterung von Linux-Arrays und assoziativen Arrays

Ausführliche Erläuterung von Linux-Arrays und assoziativen Arrays

小云云
Freigeben: 2018-03-31 13:48:03
Original
2671 Leute haben es durchsucht

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"

(2) Ausdrucken der Inhalt des Array-Elements an einem bestimmten Index:

[rhx@localhost Test]$ vim arr.sh
Nach dem Login kopieren

[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[*]}
//输出数组长度:10
Nach dem Login kopieren
Assoziative 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

In einem assoziativen Array können wir jeden Text als Array-Index verwenden. Zunächst müssen Sie eine Deklarationsanweisung verwenden, um einen Variablennamen als assoziatives Array zu deklarieren. So:

[rhx@localhost Test]$declare -A ass_array
Nach dem Login kopieren
Nach 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

Stellen Sie sich zum Beispiel vor, wie man assoziative Arrays verwendet, um Preise für Früchte festzulegen:

[rhx@localhost Test]$ declare -A fruit_value
[rhx@localhost Test]$ fruit_value=([apple]="100"[orange]="150")
[rhx@localhost Test]$ echo ${fruit_value[apple]}
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage