Hash-Tabellen in Bash

Nilesh Katuwal 15 Februar 2024
  1. Deklarieren und Hinzufügen von <key,value>-Paaren in Dictionary-Variablen in Bash
  2. Abrufen von <Schlüssel,Wert>-Paaren aus dem Dictionary in Bash
  3. Aktualisieren von <Schlüssel, Wert> in einem Dictionary in Bash
  4. Entfernen eines <Schlüssel,Wert>-Paares aus dem Dictionary
  5. Iterieren eines Dictionaries in Bash in Bash
Hash-Tabellen in Bash

Ein Dictionary, auch Hashmap oder assoziatives Array genannt, ist eine der grundlegendsten Datenstrukturen in jeder Programmiersprache, um eine Sammlung von Dingen zu speichern.

Ein Dictionary ist eine Sammlung von Schlüsseln, denen jeweils ein Wert zugeordnet ist. Mit dem passenden Schlüssel können Sie einen Wert in ein Dictionary einfügen, abrufen oder ändern.

Bash ist zwar keine Allzweck-Programmiersprache, unterstützt aber hashmaps ab Version vier nativ.

Deklarieren und Hinzufügen von <key,value>-Paaren in Dictionary-Variablen in Bash

Variablen in Bash sind nicht stark typisiert, daher müssen Sie ein typähnliches Verhalten erzwingen, indem Sie das Attribut einer Variablen angeben.

Um eine Dictionary-Variable in Bash zu verwenden, verwenden Sie die Anweisung declare mit der Option -A, was assoziatives Array bedeutet, um eine Dictionary-Variable zu deklarieren.

$ declare -A dict

Wir haben jetzt eine Variable namens dict deklariert, die wie ein Dictionary verwendet werden kann. Um dem Dictionary <Schlüssel,Wert>-Paare hinzuzufügen, folgen wir der folgenden Syntax:

$ name_of_dictionary[key]=value

Lassen Sie uns mit der obigen Syntax <Schlüssel, Wert>-Paare hinzufügen.

$ dict[1]=Nil
$ dict[2]=Esh

Wir haben zwei <Schlüssel, Wert>-Paare hinzugefügt, wobei die Schlüssel 1 und 2 und die Werte Nil und Esh sind.

Abrufen von <Schlüssel,Wert>-Paaren aus dem Dictionary in Bash

Um entsprechende Werte im Dictionary mit einem Schlüssel zu prüfen, müssen wir $ mit geschweiften Klammern {} an die von uns definierte Dictionary-Variable anhängen.

$ echo ${dict[1]}

Ausgabe:

Nil

Aktualisieren von <Schlüssel, Wert> in einem Dictionary in Bash

Um einen bestehenden <Schlüssel, Wert> im Dictionary zu aktualisieren, müssen wir einen neuen <Schlüssel, Wert> einfügen und den bestehenden Wert überschreiben.

$ dict[1]=Nilesh

Wenn wir den Wert des Schlüssels 1 abrufen, dann:

$ echo ${dict[1]}

Ausgabe:

Nilesh

Wie wir sehen können, wird Nil des Schlüssels 1 durch Nilesh überschrieben.

Entfernen eines <Schlüssel,Wert>-Paares aus dem Dictionary

Wir verwenden den Befehl unset, um ein <key, value>-Paar zu entfernen.

$ unset dict[1]

Der obige Befehl entfernt das Paar <Schlüssel, Wert> mit dem Schlüssel 1.

Iterieren eines Dictionaries in Bash in Bash

In Bash können wir eine for-Schleife verwenden, um ein Dictionary zu durchlaufen. Schauen wir uns ein Beispiel an:

#!/bin/bash
declare -A dict
dict[1]=Nil
dict[2]=Esh
for key in "${!dict[@]}"; do 
    echo "$key ${dict[$key]}" 
done

Wir haben den vorherigen Befehl in ein Skript umgeschrieben und in einem Bash-Terminal ausgeführt. "" wird verwendet, um die Schlüssel mit Leerzeichen zu behandeln.

Ausgabe:

Bash-Dictionaryausgabe

Verwandter Artikel - Bash Dictionary