- Definieren Sie ein Array nach Index
- Definieren Sie ein Array mit mehreren Werten
- Definieren Sie ein assoziatives Array
- Zählen Sie die Array-Werte
- Lesen Sie die Array-Werte per Schleife
- Lesen Sie die besonderen Werte des Arrays
- Fügen Sie die Array-Werte ein
- Liest einen Dateiinhalt in das Array ein
- Kombinieren Sie die Array-Werte
- Ändern Sie die Array-Werte
- Entfernen Sie die Array-Werte
- Suchen und ersetzen Sie die Array-Werte
- Verwenden Sie ein Array als Funktionsargument
- Gibt das Array von der Funktion zurück
- Machen Sie das Array leer
Definieren Sie ein Array nach Index
Die Methode zum Deklarieren eines Arrays durch Angabe der sequentiellen oder nicht sequentiellen numerischen Indizes wird im folgenden Skript gezeigt. Diese Art von Array wird als numerisches Array bezeichnet. Hier wird das Array „$books“ durch die Definition von drei aufeinanderfolgenden Indizes erstellt und das Array „$products“ durch die Definition von vier nicht aufeinanderfolgenden Indizes. Alle Werte beider Arrays werden mit der Funktion „printf“ gedruckt.
#!/bin/bash
#Array-Index in sequentieller Reihenfolge definieren
Bücher [ 0 ] = „Die Bash-Shell lernen“
Bücher [ 1 ] = „Cybersicherheitseinsätze mit Bash“
Bücher [ 2 ] = „Bash-Befehlszeilen-Profi-Tipps“
Echo „Alle Werte des ersten Arrays:“
printf '%s\n' ' ${books[@]} '
#Array-Index in nicht sequentieller Reihenfolge definieren
Produkte [ 10 ] = 'Stift'
Produkte [ 5 ] = 'Bleistift'
Produkte [ 9 ] = „Rulär“
Produkte [ 4 ] = „Papier im A4-Format“
Echo
Echo „Alle Werte des zweiten Arrays:“
printf '%s\n' ' ${Produkte[@]} '
Ausgabe :
Nach der Ausführung des Skripts erscheint die folgende Ausgabe. Die Werte beider Arrays werden in der Ausgabe ausgegeben. Die Indexreihenfolge wird zum Zeitpunkt des Druckens für das Array nichtsequentieller Indizes beibehalten:
Definieren Sie ein Array mit mehreren Werten
Ein numerisches Array mit mehreren Werten kann mit dem Befehl „declare“ mit der Option -a oder ohne Verwendung des Befehls „declare“ deklariert werden. Im folgenden Skript wird das erste Array mit dem Befehl „declare“ deklariert und das zweite Array ohne Verwendung des Befehls „declare“ erstellt.
#!/bin/bash
#Deklarieren Sie ein numerisches Array mit dem Schlüsselwort „declare“.
erklären -A Namen = ( „Michael“ 'David' 'Alexander' 'Thomas' 'Robert' 'Richard' )
#Drucken Sie die Array-Werte
Echo „Alle Werte des ersten Arrays:“
printf '%s\n' ' ${Namen[@]} '
#Deklarieren Sie ein numerisches Array ohne das Schlüsselwort „declare“.
Bücher = ( „Shell-Scripting-Tutorials“ „Bish Bash Bosh!“ „Bash schnell lernen“ )
#Neue Zeile hinzufügen
Echo
#Drucken Sie die Array-Werte
Echo „Alle Werte des zweiten Arrays:“
printf '%s\n' ' ${books[@]} '
Ausgabe :
Nach der Ausführung des Skripts erscheint die folgende Ausgabe. Die Werte beider Arrays werden hier gedruckt:
Definieren Sie ein assoziatives Array
Das Array, das den String-Wert als Index enthält, wird als assoziatives Array bezeichnet. Die Option -A wird mit dem Befehl „declare“ in Bash verwendet, um ein assoziatives Bash-Array zu erstellen. Im folgenden Skript wird das erste assoziative Array durch separate Angabe der Indizes deklariert und das zweite Array durch Angabe aller Schlüssel-Wert-Paare zum Zeitpunkt der Array-Deklaration.
#!/bin/bash#Deklarieren Sie eine assoziative Array-Variable ohne Wert
erklären -A Mitarbeiter
#Weisen Sie den Wert separat zu, indem Sie den Index definieren
Mitarbeiter [ 'Ausweis' ] = '78564'
Mitarbeiter [ 'Name' ] = „Verfügbarer Schauspieler“
Mitarbeiter [ 'Post' ] = 'CEO'
Mitarbeiter [ 'Gehalt' ] = 300000
#Drucken Sie zwei Werte des Arrays
Echo 'Angestellten ID: ${mitarbeiter[id]} '
Echo 'Mitarbeitername: ${Mitarbeiter[Name]} '
#Deklarieren Sie ein assoziatives Array mit Werten
erklären -A Kurs = ( [ Code ] = 'CSE-206' [ Name ] = 'Objekt orientierte Programmierung' [ Kreditstunde ] = 2,0 )
#Neue Zeile hinzufügen
Echo
#Drucken Sie zwei Array-Werte des zweiten Arrays
Echo 'Kursname: ${Kurs[Name]} '
Echo „Kreditstunde: ${course[credit_hour]} '
Ausgabe :
Nach der Ausführung des Skripts erscheint die folgende Ausgabe. Die jeweiligen Werte des assoziativen Arrays werden hier durch Angabe des Schlüssel- oder Indexwerts gedruckt:
Zählen Sie die Array-Werte
Die Methode zum Zählen der Gesamtelemente des numerischen Arrays und des assoziativen Arrays wird im folgenden Skript gezeigt:
#!/bin/bash#Deklarieren Sie ein numerisches Array
erklären -A Namen = ( „Michael“ 'David' 'Alexander' 'Thomas' 'Robert' 'Richard' ) ;
Echo „Die Länge des numerischen Arrays beträgt ${#Namen[@]} '
#Deklarieren Sie ein assoziatives Array
erklären -A Kurs = ( [ Code ] = 'CSE-206' [ Name ] = 'Objekt orientierte Programmierung' [ Kreditstunde ] = 2,0 )
Echo „Die Länge des assoziativen Arrays beträgt ${#course[@]} '
Ausgabe :
Nach der Ausführung des Skripts erscheint die folgende Ausgabe. Die Array-Länge der numerischen und assoziativen Arrays wird hier gedruckt:
Lesen Sie die Array-Werte per Schleife
Die Methode zum Lesen aller Werte eines numerischen Arrays und eines assoziativen Arrays mithilfe der „for“-Schleife wird im folgenden Skript gezeigt:
#!/bin/bash#Deklarieren Sie ein numerisches Array
erklären -A Bücher = ( „Shell-Scripting-Tutorials“ „Bish Bash Bosh!“ „Bash schnell lernen“ )
#Drucken Sie die numerischen Array-Werte
Echo „Numerische Array-Werte sind:“
für In In ' ${books[@]} '
Tun
Echo ' $in '
Erledigt
Echo
#Deklarieren Sie ein assoziatives Array mit Werten
erklären -A Kunden = (
[ Ausweis ] = 'H-5623'
[ Name ] = 'Herr. Ahnaf'
[ Adresse ] = „6/A, Dhanmondi, Dhaka.“
[ Telefon ] = '+8801975642312' )
#Drucken Sie die assoziativen Array-Werte
Echo „Assoziative Array-Werte sind:“
für k In ' ${!clients[@]} '
Tun
Echo ' $k => ${Kunden[$k]} '
Erledigt
Ausgabe :
Nach der Ausführung des Skripts erscheint die folgende Ausgabe. Hier werden die Werte des numerischen Arrays und die Schlüssel-Wert-Paare des assoziativen Arrays in der Ausgabe ausgegeben:
Lesen Sie den jeweiligen Wertebereich des Arrays
Die Array-Werte des jeweiligen Indexbereichs werden im folgenden Skript angezeigt. Im Skript wird ein numerisches Array aus vier Elementen definiert. Zwei Array-Werte aus dem zweiten Index des Arrays werden später gedruckt.
#!/bin/bash#Deklarieren Sie ein numerisches Array
erklären -A Kuchen = ( 'Schokoladenkuchen' 'Vanille Kuchen' „Roter Samtkuchen“ 'Erdbeerkuchen' )
#Drucken Sie die jeweiligen Array-Werte
Echo „Das 2. und 3. Element der Array-Werte sind:“
printf '%s\n' ' ${Kuchen[@]:1:2} '
Ausgabe :
Nach der Ausführung des Skripts erscheint die folgende Ausgabe. Der zweite und dritte Wert des Arrays sind „Vanilla Cake“ und „Red Velvet Cake“, die in der Ausgabe gedruckt werden:
Fügen Sie die Array-Werte ein
Die Methode zum Hinzufügen mehrerer Werte am Ende des Arrays wird im folgenden Skript gezeigt. Das Hauptarray „$books“ enthält drei Elemente und zwei Elemente werden am Ende des Arrays „$books“ hinzugefügt.
#!/bin/bash#Deklarieren Sie ein numerisches Array
erklären -A Bücher = ( „Shell-Scripting-Tutorials“ „Bish Bash Bosh!“ „Bash schnell lernen“ )
#Drucken Sie die Array-Werte vor dem Einfügen
Echo „Array-Werte:“
printf '%s\n' ' ${books[@]} '
Echo
Bücher = ( ' ${books[@]} ' „Linux-Befehlszeilen- und Shell-Scripting-Bibel“ „Advanced Bash Scripting Guide von Mendel Cooper“ )
#Drucken Sie die Array-Werte nach dem Einfügen
Echo „Array-Werte nach dem Einfügen von zwei Werten:“
printf '%s\n' ' ${books[@]} '
Ausgabe :
Nach der Ausführung des Skripts erscheint die folgende Ausgabe. Die Array-Werte vor und nach dem Einfügen neuer Werte werden in der Ausgabe gedruckt:
Lesen Sie den Dateiinhalt in das Array ein
Erstellen Sie eine Textdatei mit dem Namen „fruits.txt“ mit folgendem Inhalt, um das Skript dieses Beispiels zu testen:
Früchte.txt
MangoJackfrucht
Ananas
Orange
Banane
Im folgenden Skript wird der Inhalt einer Datei in einem Array namens „$data“ gespeichert. Hier wird jede Zeile der Datei als jedes Element des Arrays gespeichert. Als nächstes werden die Array-Werte gedruckt.
#!/bin/bash#Lesen Sie den Dateinamen vom Benutzer
lesen -P „Geben Sie den Dateinamen ein:“ Dateiname
Wenn [ -F $Dateiname ]
Dann
#Den Dateiinhalt in ein Array einlesen“
Daten = ( ` Katze ' $Dateiname ' ` )
Echo „Der Inhalt der Datei ist unten angegeben:“
#Lesen Sie die Datei Zeile für Zeile
für Linie In ' ${data[@]} '
Tun
Echo $line
Erledigt
Sei
Ausgabe :
Nach der Ausführung des Skripts erscheint die folgende Ausgabe. Die vom Befehl „cat“ angezeigte Ausgabe und die Ausgabe des Skripts sind ähnlich, da der Befehl „cat“ und das Skript auf dieselbe Datei zugreifen:
Kombinieren Sie die Array-Werte
Durch die Kombination der Werte mehrerer Arrays wird ein neues Array erstellt. Im folgenden Skript werden zwei numerische Arrays von Zeichenfolgen definiert. Anschließend wird ein neues Array erstellt, indem die Werte dieser Arrays kombiniert werden.
#!/bin/bash#Deklarieren Sie das erste Array
erklären -A nameList1 = ( „Michael“ 'David' 'Alexander' 'Thomas' )
Echo „Die ersten Array-Werte sind:“
printf '%S, ' ${nameList1[@]}
Echo
#Deklarieren Sie das zweite Array
erklären -A nameList2 = ( 'Robert' 'Richard' )
Echo „Die zweiten Array-Werte sind:“
printf '%S, ' ${nameList2[@]}
Echo
#Erstellen Sie ein neues Array, indem Sie zwei Arrays kombinieren
kombiniertes_Array = ( ' ${nameList1[@]} ' ' ${nameList2[@]} ' )
Echo „Die kombinierten Array-Werte sind:“
printf '%S, ' ${combined_array[@]}
Echo
Ausgabe :
Nach der Ausführung des Skripts erscheint die folgende Ausgabe. Hier werden die Werte von drei Arrays in der Ausgabe ausgegeben. Das dritte Array enthält alle Werte des ersten und zweiten Arrays:
Ändern Sie die Array-Werte
Die Methode zum Aktualisieren eines oder mehrerer Array-Werte durch Angabe des Index wird im folgenden Skript gezeigt:
#!/bin/bash#Deklarieren Sie das erste Array
erklären -A Namensliste = ( „Michael“ 'David' 'Alexander' 'Thomas' )
Echo „Array-Werte:“
printf '%S, ' ${nameList[@]}
Echo
#Aktualisieren Sie den 2. Wert des Arrays
Namensliste [ 1 ] = 'Robert'
Echo „Array-Werte nach Update:“
printf '%S, ' ${nameList[@]}
Echo
Ausgabe :
Nach der Ausführung des Skripts erscheint die folgende Ausgabe. Die Werte des Hauptarrays und der aktualisierten Arrays werden in der Ausgabe gedruckt:
Entfernen Sie die Array-Werte
Der Befehl „unset“ wird verwendet, um das bestimmte Element oder alle Elemente des Arrays zu entfernen. Im folgenden Skript wird das zweite Element des Arrays entfernt.
#!/bin/bash#Deklarieren Sie ein numerisches Array
erklären -A Bücher = ( „Shell-Scripting-Tutorials“ „Bish Bash Bosh!“ „Bash schnell lernen“ )
#Drucken Sie die Array-Werte vor dem Entfernen aus
Echo „Array-Werte:“
printf '%s\n' ' ${books[@]} '
Echo
#Entfernen Sie das 2. Element
nicht gesetzt Bücher [ 1 ]
#Drucken Sie die Array-Werte nach dem Entfernen aus
Echo „Array-Werte nach dem Entfernen des 2. Werts:“
printf '%s\n' ' ${books[@]} '
Ausgabe :
Nach der Ausführung des Skripts erscheint die folgende Ausgabe. Die Werte des Hauptarrays und die Arraywerte nach dem Entfernen eines Werts werden in der Ausgabe gedruckt:
Suchen und ersetzen Sie die Array-Werte
Im folgenden Skript wird der bestimmte Wert des Arrays durch einen anderen Wert ersetzt, wenn der im Muster definierte Suchwert mit einem beliebigen Wert des Arrays „$names“ übereinstimmt.
#!/bin/bash#Deklarieren Sie das erste Array
erklären -A Namen = ( „Michael“ 'David' 'Alexander' 'Thomas' )
#Drucken Sie die ursprünglichen Array-Werte
Echo „Ursprüngliche Array-Werte:“
printf '%s\n' ' ${Namen[@]} '
#Nach dem Ersetzen der Array-Werte eine Zeichenfolge generieren
aktualisiertes_array = ${names[@]/Alexander/Richard}
#Drucken Sie die Array-Werte nach dem Ersetzen
Echo „Array-Werte nach Ersetzen:“
printf '%s\n' ' ${updated_array[@]} '
Ausgabe :
Nach der Ausführung des Skripts erscheint die folgende Ausgabe. Die Werte des Hauptarrays und die Arraywerte nach dem Ersetzen eines Werts werden in der Ausgabe gedruckt:
Verwenden Sie ein Array als Funktionsargument
Im folgenden Skript wird eine Array-Variable als Funktionsargument übergeben und die Werte dieses Arrays werden später gedruckt.
#!/bin/bash#Deklarieren Sie ein Array von Zahlen
erklären -A Zahlen = ( 10 6 Vier fünf 13 8 )
#Definieren Sie eine Funktion, die einen Argumentwert annimmt
Funktion ( )
{
#Lesen Sie das erste Argument
Zahlen = 1 $
#Drucken Sie die Array-Werte
Echo „Array-Werte:“
printf '%d\n' ' ${Zahlen[@]} '
}
#Rufen Sie die Funktion mit dem Array als Argument auf
Funktion ' ${Zahlen[@]} '
Ausgabe :
Nach der Ausführung des Skripts erscheint folgende Ausgabe:
Gibt ein Array von der Funktion zurück
Im folgenden Skript wird die Funktion mit vier numerischen Argumenten aufgerufen. Mit den Argumentwerten wird ein Array erstellt und dieses Array wird von der Funktion an den Aufrufer zurückgegeben.
#!/bin/bash#Definieren Sie eine Funktion, die vier Argumentwerte liest
Funktion ( )
{
#Lesen Sie die Argumentwerte
Zahlen = ( 1 $ 2 $ 3 $ 4 $ )
#Gib das Array zurück
Echo ' ${Zahlen[@]} '
}
#Rufen Sie die Funktion mit drei Argumenten auf
return_val =$ ( Funktion 78 Vier fünf 90 23 )
#Speichern Sie den Rückgabewert in einem Array
lesen -A Auf eins <<< $return_val
#Drucken Sie die Werte des zurückgegebenen Arrays
Echo „Die Werte des Arrays sind:“
für In In ' ${num[@]} '
Tun
Echo ' $in '
Erledigt
Ausgabe :
Nach der Ausführung des Skripts erscheint folgende Ausgabe:
Machen Sie das Array leer
Das folgende Skript zeigt die Methode zum Leeren eines Arrays mit dem Befehl „unset“. Die Gesamtzahl der Array-Werte wird vor und nach dem Leeren des Arrays gedruckt.
#!/bin/bash#Deklarieren Sie ein Array von Zahlen
erklären -A Zahlen = ( 10 6 Vier fünf 13 80 )
Echo „Anzahl der Array-Werte: ${#numbers[@]} '
#Machen Sie das Array leer
nicht gesetzt Zahlen
Echo „Anzahl der Array-Werte, nachdem das Array leer gemacht wurde: ${#numbers[@]} '
Ausgabe :
Nach der Ausführung des Skripts erscheint die folgende Ausgabe. Die Anzahl der Elemente des Arrays wurde zu 0, nachdem das Array leer gemacht wurde:
Abschluss
In diesem Tutorial werden anhand von 15 einfachen Beispielen verschiedene Methoden zum Deklarieren, Zugreifen, Ändern und Entfernen der Array-Variablen im Bash-Skript gezeigt. Wir hoffen, dass dieses Tutorial den Bash-Benutzern hilft, die Verwendung des Bash-Arrays im Detail kennenzulernen.