Hoe een sleutelwaardewoordenboek in Bash te gebruiken

Hoe Een Sleutelwaardewoordenboek In Bash Te Gebruiken



Bash is een krachtig hulpmiddel waarmee u complexe taken kunt automatiseren en aangepaste scripts kunt schrijven om gegevens te verwerken. Een van de handigste functies van bash is de mogelijkheid om sleutel-waardewoordenboeken te gebruiken om gegevens op te slaan en te manipuleren. Met woordenboeken kunt u snel en gemakkelijk gegevens opslaan en openen, waardoor uw code efficiënter wordt. In dit artikel bespreken we hoe je een sleutel/waarde-woordenboek in bash kunt gebruiken.

Wat is een sleutel-waardewoordenboek

Een sleutel-waardewoordenboek is een gegevensstructuur waarmee u gegevens per sleutel kunt opslaan en openen. Elke sleutel heeft een overeenkomstige waarde, die elk type gegevens kan zijn, zoals een tekenreeks, geheel getal of zelfs een andere gegevensstructuur en hieronder is de syntaxis voor het toevoegen van waarden aan sleutels, gevolgd door de syntaxis voor het maken van een woordenboek in bash:







verklaren -A < dict_naam >



Dit creëert een leeg woordenboek met de naam dict_name met de vlag -A die aangeeft dat het een associatieve array is. Nadat u een woordenboek hebt gemaakt, kunt u er sleutels en waarden aan toevoegen met behulp van de volgende syntaxis:



< dict_naam > [ < sleutel > ] = < waarde >





Hoe een sleutelwaardewoordenboek in Bash te gebruiken

Het gebruik van een sleutel-waardewoordenboek in bash is handig in veel scenario's, zoals bij het genereren van een toegangscode naar eigen keuze, zoals het uitvoeren van complexe of lange rekenkundige berekeningen of het opslaan van details waartoe u overal in de code toegang hebt. Dus om het gebruik van het sleutel-waardewoordenboek in bash te demonstreren, heb ik drie voorbeelden gegeven die je zullen helpen begrijpen hoe je ze moet gebruiken en hier zijn die voorbeelden:

Hoe een rekenkundige bewerking uit te voeren met behulp van een sleutel-waardewoordenboek

Een ander mogelijk gebruik van het sleutel-waarde-woordenboek is dat men verschillende rekenkundige bewerkingen kan uitvoeren, zowel complex als eenvoudig, en hier is de bash-code die optellen en aftrekken uitvoert met behulp van de gegevens die in het woordenboek zijn opgeslagen:



#!/bin/bash
# Definieer een woordenboek met sleutel-waardeparen
verklaren -A mijn_dict
mijn_dict [ 'A' ] = 5
mijn_dict [ 'B' ] = 10
mijn_dict [ 'C' ] = vijftien

# Voeg twee waarden toe in het woordenboek
som =$ ( ( mijn_dict [ 'A' ] + mijn_dict [ 'B' ] ) )
echo 'De som van a en b is: $ som '

# Trek de ene waarde van de andere af in het woordenboek
verschil =$ ( ( mijn_dict [ 'C' ] - mijn_dict [ 'A' ] ) )
echo 'Het verschil tussen c en a is: $verschil '

Eerst wordt een associatieve array of woordenlijst met de naam my_dict gedefinieerd met sleutel-waardeparen. Vervolgens worden twee waarden uit het woordenboek, a en b, bij elkaar opgeteld en opgeslagen in een variabele genaamd som. Het resultaat van de optelling wordt afgedrukt met behulp van het echo-commando.

Vervolgens wordt één waarde uit het woordenboek, a, afgetrokken van een andere waarde, c. Het resultaat van de aftrekking wordt opgeslagen in een variabele met de naam diff, en het resultaat wordt afgedrukt met de opdracht echo. Over het algemeen laat dit script zien hoe woordenboeken kunnen worden gebruikt om gegevens in Bash op te slaan en te manipuleren.

Een database maken met behulp van een sleutelwaardewoordenboek

Een van de meest populaire toepassingen van sleutel/waarde-woordenboeken is het maken van een database; het kunnen details zijn van alles wat je later in het bash-script kunt gebruiken. Hier heb ik een voorbeeld gegeven dat de gegevens van een bedrijf gebruikt en niet alleen dat het script laat zien hoe een bestaande sleutel in het woordenboek moet worden bijgewerkt:

#!/bin/bash
verklaren -A bedrijf = (
[ naam ] = 'Acme Corporation'
[ plaats ] = 'New York City, NY'
[ industrie ] = 'Productie'
[ maat ] = 'Groot'
[ Gesticht ] = '1920'
)

# druk alle details af
printf 'Bedrijfsgegevens: \N '
voor sleutel in ' ${!bedrijf[@]} ' ; Doen
printf '%s: %s \N ' ' $ sleutel ' ' ${bedrijf[$key]} '
klaar

# wijzig de waarde van de sleutel 'locatie'.
bedrijf [ 'plaats' ] = 'Los Angeles, CA'

# druk de bijgewerkte gegevens af
printf ' \N Bijgewerkte bedrijfsgegevens: \N '
voor sleutel in ' ${!bedrijf[@]} ' ; Doen
printf '%s: %s \N ' ' $ sleutel ' ' ${bedrijf[$key]} '
klaar

Dit bash-script definieert een woordenboek met de naam bedrijf dat informatie over een bedrijf bevat, zoals de naam, locatie, branche, grootte en jaar van oprichting. De printf-functie wordt gebruikt om de gegevens van het bedrijf in een leesbaar formaat weer te geven. De for-lus herhaalt de sleutels van het bedrijfswoordenboek en voor elke sleutel wordt de functie printf aangeroepen met de sleutel en de bijbehorende waarde als argumenten. Het bedrijfswoordenboek wordt vervolgens bijgewerkt door de waarde van de locatiesleutel te wijzigen in 'Los Angeles, CA'. Ten slotte worden de bijgewerkte details van het bedrijf weergegeven in hetzelfde formaat als voordat een andere for-lus en de printf-functie werden gebruikt:

Conclusie

Het gebruik van associatieve arrays kan u helpen uw bash-scripts efficiënter en onderhoudbaarder te maken, doordat u gegevens kunt opslaan en ophalen met behulp van betekenisvolle namen in plaats van cryptische indices. Dit artikel demonstreert het gebruik van sleutel/waarde-woordenboeken in Bash met behulp van twee voorbeelden.