Hvordan bruke en nøkkelverdiordbok i bash

Hvordan bruke en nøkkelverdiordbok 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 i 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 din 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 tast har en tilsvarende verdi, som kan være alle typer data, for eksempel en streng, heltall eller til og med en annen datastruktur og nedenfor er syntaks for å legge til verdier til tastene etterfulgt av syntaks for å lage en ordbok i bash:

erklære -a

Dette skaper en tom ordbok som heter DICT_NAME med -A -flagget som indikerer at det er et assosiativt utvalg. Når du har opprettet en ordbok, kan du legge til nøkler og verdier til den ved å bruke følgende syntaks:

[] =

Hvordan bruke en nøkkelverdi-ordbok i bash

Å bruke en nøkkelverdi-ordbok i bash kommer nyttig i mange scenarier som når du genererer en passord for eget valg, som å utføre kompleks eller lang aritmetisk beregning 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 med å forstå at hvordan du bruker dem, og her er disse eksemplene:

  • Utføre aritmetisk operasjon ved bruk av nøkkelverdi-ordbok
  • Opprette en database ved hjelp av nøkkelverdi-ordbok

Hvordan utføre aritmetisk operasjon ved bruk av nøkkelverdi-ordbok

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

#!/bin/bash
# Definer en ordbok med nøkkelverdipar
erklære -a My_dict
my_dict ["a"] = 5
my_dict ["b"] = 10
my_dict ["c"] = 15
# Legg til to verdier i ordboken
sum = $ ((my_dict ["a"] + my_dict ["b"])))
ekko "Summen av A og B er: $ sum"
# Trekk en verdi fra en annen i ordboken
diff = $ ((my_dict ["c"] - my_dict ["a"])))
ekko "Forskjellen mellom C og A er: $ diff"

For det første er en assosiativ matrise eller ordbok som heter My_dict definert med nøkkelverdipar. Deretter blir to verdier fra ordboken, A og B, lagt sammen og lagret i en variabel kalt sum. Resultatet av tillegget skrives ut ved hjelp av Echo -kommandoen.

Neste, en verdi fra ordboken, A, trekkes fra en annen verdi, C. Resultatet av subtraksjonen lagres i en variabel kalt diff, og resultatet skrives ut ved hjelp av Echo -kommandoen. Totalt sett demonstrerer dette skriptet hvordan du bruker ordbøker for å lagre og manipulere data i bash.

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

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

#!/bin/bash
erklære -et selskap = (
[navn] = "Acme Corporation"
[Location] = "New York City, NY"
[Industri] = "Produksjon"
[størrelse] = "stor"
[Grunnlagt] = "1920"
)
# Skriv ut alle detaljene
printf "firmadetaljer: \ n"
for nøkkel i "$ !selskap [@] "; gjør
printf " %s: %s \ n" "$ key" "$ company [$ key]"
Ferdig
# Endre verdien av "Location" -tasten
Company ["Location"] = "Los Angeles, CA"
# Skriv ut de oppdaterte detaljene
printf "\ nupdated firmadetaljer: \ n"
for nøkkel i "$ !selskap [@] "; gjør
printf " %s: %s \ n" "$ key" "$ company [$ key]"
Ferdig

Dette bash -skriptet definerer en ordbok kalt selskap som inneholder informasjon om et selskap, for eksempel navn, beliggenhet, industri, størrelse og år. Printf -funksjonen brukes til å vise detaljene i selskapet i et lesbart format. For Loop itererer over nøklene til selskapets ordbok, og for hver nøkkel kalles Printf -funksjonen med nøkkelen og dens tilsvarende verdi som argumenter. Selskapets ordbok blir deretter oppdatert ved å endre verdien av stedstasten til “Los Angeles, CA”. Til slutt vises de oppdaterte detaljene til selskapet i samme format som før du bruker en annen for Loop og Printf -funksjonen:

Konklusjon

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