Hvordan bruke en nøkkelverdiordbok i Bash

Hvordan Bruke En Nokkelverdiordbok I Bash



Bash er et kraftig verktøy som lar deg automatisere komplekse oppgaver og skrive tilpassede skript for å behandle data. En av de mest nyttige funksjonene til bash er muligheten til å bruke nøkkelverdi-ordbøker for å lagre og manipulere data. Ordbøker lar deg lagre og få tilgang til data raskt og enkelt, noe som gjør koden mer effektiv. I denne artikkelen vil vi diskutere hvordan du bruker en nøkkelverdi-ordbok i bash.

Hva er en nøkkelverdi-ordbok

En nøkkelverdi-ordbok er en datastruktur som lar deg lagre og få tilgang til data etter nøkkel. Hver nøkkel har en tilsvarende verdi, som kan være hvilken som helst type data, for eksempel en streng, heltall eller til og med en annen datastruktur, og nedenfor er syntaksen for å legge til verdier til nøkler etterfulgt av syntaksen for å lage en ordbok i bash:







erklære -EN < dikt_navn >



Dette lager en tom ordbok kalt dikt_navn med -A-flagget som indikerer at det er en assosiativ matrise. Når du har opprettet en ordbok, kan du legge til nøkler og verdier i den ved å bruke følgende syntaks:



< dikt_navn > [ < nøkkel > ] = < verdi >





Hvordan bruke en nøkkelverdi-ordbok i Bash

Å bruke en nøkkelverdi-ordbok i bash er nyttig i mange scenarier som når du genererer et passord du selv velger, som å utføre komplekse eller lange aritmetiske beregninger eller lagre detaljer som du kan få tilgang til hvor som helst i koden. Så, for å demonstrere bruken av nøkkelverdi-ordbok i bash, har jeg gitt tre eksempler som vil hjelpe deg å forstå hvordan du bruker dem, og her er disse eksemplene:

Hvordan utføre aritmetiske operasjoner ved hjelp av nøkkelverdi-ordbok

En annen mulig bruk av nøkkelverdi-ordbok er at man kan utføre flere forskjellige aritmetiske operasjoner, enten komplekse eller enkle, og her er bash-koden som utfører addisjon og subtraksjon ved å bruke dataene som er lagret i ordboken:



#!/bin/bash
# Definer en ordbok med nøkkel-verdi-par
erklære -EN min_dikt
min_dikt [ 'en' ] = 5
min_dikt [ 'b' ] = 10
min_dikt [ 'c' ] = femten

# Legg til to verdier i ordboken
sum =$ ( ( min_dikt [ 'en' ] + min_dikt [ 'b' ] ) )
ekko 'Summen av a og b er: $sum '

# Trekk en verdi fra en annen i ordboken
diff =$ ( ( min_dikt [ 'c' ] - min_dikt [ 'en' ] ) )
ekko 'Forskjellen mellom c og a er: $diff '

Først defineres en assosiativ matrise eller ordbok kalt my_dict med nøkkelverdi-par. Deretter legges to verdier fra ordboken, a og b, sammen og lagres i en variabel kalt sum. Resultatet av tillegget skrives ut ved hjelp av ekko-kommandoen.

Deretter trekkes en verdi fra ordboken, a, fra en annen verdi, c. Resultatet av subtraksjonen lagres i en variabel kalt diff, og resultatet skrives ut ved hjelp av ekko-kommandoen. Totalt sett viser dette skriptet hvordan du bruker ordbøker til å lagre og manipulere data i Bash.

Hvordan lage en database ved hjelp av nøkkelverdi-ordbok

En av de mest populære bruksområdene for nøkkelverdi-ordbøker er å lage en database; det kan være detaljer om alt som du kan bruke senere i bash-skriptet. Her har jeg gitt et eksempel som tar data fra et selskap og ikke bare at skriptet viser hvordan man oppdaterer en eksisterende nøkkel i ordboken:

#!/bin/bash
erklære -EN selskap = (
[ Navn ] = 'Acme Corporation'
[ plassering ] = 'New York City, NY'
[ industri ] = 'Produksjon'
[ størrelse ] = 'Stor'
[ grunnlagt ] = '1920'
)

# skriv ut alle detaljene
printf 'Firma detaljer: \n '
til nøkkel i ' ${!company[@]} ' ; gjøre
printf '%s: %s \n ' ' $nøkkel ' ' ${company[$key]} '
ferdig

# endre verdien av 'location'-nøkkelen
selskap [ 'plassering' ] = 'Los Angeles, CA'

# skriv ut de oppdaterte detaljene
printf ' \n Oppdaterte firmadetaljer: \n '
til nøkkel i ' ${!company[@]} ' ; gjøre
printf '%s: %s \n ' ' $nøkkel ' ' ${company[$key]} '
ferdig

Dette bash-skriptet definerer en ordbok kalt selskap som inneholder informasjon om et selskap, for eksempel navn, plassering, bransje, størrelse og årstall. Printf-funksjonen brukes til å vise detaljene om selskapet i et lesbart format. For-løkken itererer over tastene til firmaordboken, og for hver nøkkel kalles printf-funksjonen med nøkkelen og dens tilsvarende verdi som argumenter. Bedriftsordboken oppdateres deretter ved å endre verdien på plasseringsnøkkelen til 'Los Angeles, CA'. Til slutt vises de oppdaterte opplysningene om selskapet i samme format som før ved å bruke en annen for loop og printf-funksjonen:

Konklusjon

Å bruke assosiative arrays kan hjelpe deg med å gjøre bash-skriptene dine mer effektive og vedlikeholdbare, ved å tillate deg å lagre og hente data ved å bruke meningsfulle navn i stedet for kryptiske indekser. Denne artikkelen demonstrerer bruken av nøkkelverdi-ordbøker i Bash ved hjelp av to eksempler.