Einführung
In diesem Lab lernen Sie den Umgang mit Arrays in der Shell-Programmierung kennen. Arrays sind Datenstrukturen, die es Ihnen ermöglichen, mehrere Werte unter einem einzigen Namen zu speichern, was die Organisation und Manipulation von Daten erheblich erleichtert. Sie werden lernen, wie man Arrays initialisiert, Elemente hinzufügt, über den Index auf Elemente zugreift und die Anzahl der Elemente in einem Array ermittelt. Dieses Wissen ist eine grundlegende Voraussetzung für fortgeschrittenes Shell-Scripting und komplexe Datenverarbeitungsaufgaben.
Eine neue Shell-Skriptdatei erstellen
Beginnen wir damit, eine neue Shell-Skriptdatei zu erstellen, in der wir unsere Array-Operationen schreiben werden.
Öffnen Sie Ihr Terminal in der WebIDE.
Navigieren Sie in das Projektverzeichnis:
cd ~/projectErstellen Sie mit dem
touch-Befehl eine neue Datei namensarrays.sh:touch arrays.shÖffnen Sie die Datei
arrays.shin der WebIDE.
Leere Arrays initialisieren
Nachdem wir unsere Skriptdatei vorbereitet haben, beginnen wir mit der Initialisierung von drei leeren Arrays.
Fügen Sie den folgenden Code in Ihre Datei arrays.sh ein:
#!/bin/bash
## Initialize empty arrays
NUMBERS=()
STRINGS=()
NAMES=()
Lassen Sie uns kurz erklären, was dieser Code bewirkt:
- Die erste Zeile
#!/bin/bashwird Shebang genannt. Sie teilt dem System mit, dass dieses Skript von der Bash-Shell ausgeführt werden soll. - Wir erstellen drei leere Arrays:
NUMBERS,STRINGSundNAMES. - Die Syntax
()initialisiert ein leeres Array.
Elemente zu den Arrays hinzufügen
Da wir nun unsere leeren Arrays haben, fügen wir ihnen einige Elemente hinzu.
Fügen Sie den folgenden Code in Ihre Datei arrays.sh unterhalb der Array-Initialisierungen ein:
## Add elements to NUMBERS array
NUMBERS+=(1)
NUMBERS+=(2)
NUMBERS+=(3)
## Add elements to STRINGS array
STRINGS+=("hello")
STRINGS+=("world")
## Add elements to NAMES array
NAMES+=("John")
NAMES+=("Eric")
NAMES+=("Jessica")
Das bewirkt dieser Code:
- Wir verwenden den Operator
+=, um Elemente an unsere Arrays anzuhängen. - Dem Array
NUMBERSfügen wir die Ganzzahlen 1, 2 und 3 hinzu. - Dem Array
STRINGSfügen wir die Wörter "hello" und "world" hinzu. - Dem Array
NAMESfügen wir drei Namen hinzu: "John", "Eric" und "Jessica". - Beachten Sie, dass wir Zeichenketten (Strings) in Anführungszeichen setzen, Zahlen hingegen nicht.
Die Anzahl der Elemente in einem Array ermitteln
Eine häufige Operation bei der Arbeit mit Arrays ist die Feststellung, wie viele Elemente sie enthalten. Wir führen dies für unser NAMES-Array durch.
Fügen Sie den folgenden Code in Ihre Datei arrays.sh ein:
## Get the number of elements in the NAMES array
NumberOfNames=${#NAMES[@]}
Diese Zeile bewirkt Folgendes:
${#NAMES[@]}liefert uns die Anzahl der Elemente im ArrayNAMES.- Wir speichern diesen Wert in einer Variablen namens
NumberOfNames. - Das Symbol
@innerhalb der Klammern bezieht sich auf alle Elemente des Arrays. - Das Symbol
#vorNAMESweist die Shell an, die Elemente zu zählen.
Auf ein bestimmtes Element in einem Array zugreifen
Greifen wir nun auf ein spezifisches Element in unserem NAMES-Array zu. Wir möchten den zweiten Namen auslesen.
Fügen Sie diesen Code in Ihre Datei arrays.sh ein:
## Access the second name in the NAMES array
second_name=${NAMES[1]}
Das bewirkt dieser Code:
- Wir greifen mit
${NAMES[1]}auf das zweite Element des ArraysNAMESzu. - Denken Sie daran, dass Array-Indizes in der Bash bei 0 beginnen, daher liefert uns
[1]das zweite Element. - Wir speichern diesen Wert in einer Variablen namens
second_name.
Arrays und Variablen ausgeben
Zum Abschluss fügen wir Code hinzu, um unsere Arrays und Variablen auszugeben, damit wir die Ergebnisse unserer Operationen sehen können.
Fügen Sie den folgenden Code am Ende Ihrer Datei arrays.sh hinzu:
## Print the arrays and variables
echo "NUMBERS array: ${NUMBERS[@]}"
echo "STRINGS array: ${STRINGS[@]}"
echo "The number of names listed in the NAMES array: $NumberOfNames"
echo "The second name on the NAMES list is: $second_name"
Dieser Code bewirkt Folgendes:
- Wir verwenden
echo, um Texte in der Konsole auszugeben. ${NUMBERS[@]}und${STRINGS[@]}geben alle Elemente dieser Arrays aus.- Wir geben die zuvor erstellten Variablen
NumberOfNamesundsecond_nameaus.
Das Skript ausführen
Nachdem wir unser Skript geschrieben haben, ist es an der Zeit, es auszuführen und die Ergebnisse zu prüfen.
Stellen Sie in Ihrem Terminal sicher, dass Sie sich im richtigen Verzeichnis befinden:
cd ~/projectMachen Sie das Skript ausführbar:
chmod +x arrays.shFühren Sie das Skript aus:
./arrays.sh
Sie sollten eine Ausgabe sehen, die der folgenden ähnelt:
NUMBERS array: 1 2 3
STRINGS array: hello world
The number of names listed in the NAMES array: 3
The second name on the NAMES list is: Eric
Diese Ausgabe bestätigt, dass unsere Array-Operationen erfolgreich waren:
- Das Array
NUMBERSenthält 1, 2 und 3. - Das Array
STRINGSenthält "hello" und "world". - Wir haben korrekt 3 Namen im Array
NAMESgezählt. - Wir haben erfolgreich "Eric" als zweiten Namen abgerufen.
Zusammenfassung
In diesem Lab haben Sie die Grundlagen für die Arbeit mit Arrays im Shell-Scripting erlernt. Sie haben geübt, Arrays zu initialisieren, Elemente hinzuzufügen, auf spezifische Elemente zuzugreifen und die Anzahl der Elemente in einem Array zu bestimmen. Diese Fähigkeiten sind entscheidend für fortgeschrittene Aufgaben in der Shell-Programmierung, insbesondere wenn Sie mit Datenlisten arbeiten oder Operationen auf mehreren Elementen gleichzeitig ausführen müssen. Arrays bieten eine leistungsstarke Möglichkeit, Daten in Ihren Shell-Skripten zu organisieren und zu manipulieren, wodurch Ihr Code effizienter und wartungsfreundlicher wird.



