Assosiative matriser i skallskript - bash

Assosiative matriser i skallskript - bash

Assosiative matriser er en viktig datastruktur i programmeringsspråk som lar deg lagre nøkkelverdipar. Bash, det mest brukte skallet i Linux -operativsystemet, støtter også assosiative matriser. Denne artikkelen vil utforske hvilke assosiative matriser som er i skallskript, og hvordan de kan brukes i bash.

Assosiative matriser i skallskript

I Bash er en assosiativ matrise en samling av nøkkelverdipar, der hver tast er unik, og hver verdi kan nås ved hjelp av den tilsvarende tasten. For å lage et assosiativt utvalg i bash, må du bruke følgende syntaks:

erklære -a

Deklarere kommandoen brukes til å definere variabelen som et assosiativt utvalg, og alternativet -et alternativ brukes til å spesifisere at matrisen er assosiativ. For å legge til et element til et assosiativt utvalg i bash, må du bruke følgende syntaks:

[nøkkel] =

Her [Key] er nøkkelen til elementet, og er verdien som er knyttet til nøkkelen, her er et eksempel på hvordan du kan lage og legge til elementer til et assosiativt utvalg i bash:

erklære -a biler
biler ["bmw"] = "m5"
Cars ["Volvo"] = "x70"
Cars ["Lexus"] = "LX470"

Her har jeg laget et assosiativt utvalg som heter biler med tre elementer, som hver inneholder den respektive bilmodellen til den tilsvarende produsenten. Som et eksempel på hvordan du får verdien av et element i et assosiativt utvalg i bash, her er hvordan du kan hente nøkkelen til et element i et assosiativt utvalg:

Associative-Arrays-Shell-Scripts-Bash#!BIN/BASH
erklære -a biler
biler ["bmw"] = "m5"
Cars ["Volvo"] = "x70"
Cars ["Lexus"] = "LX470"
Echo $ Cars ["Lexus"]

Her har jeg brukt nøkkel Lexus for å få tilgang til verdien LX470 tilknyttet den, nedenfor er utgangen fra det respektive skriptet:

A For Loop kan brukes til å gjentatte ganger iterere gjennom alle nøklene i et assosiativt utvalg. Her er et eksempel i bash som viser hvordan du gjør dette:

Associative-Arrays-Shell-Scripts-Bash#!BIN/BASH
erklære -a biler
biler ["bmw"] = "m5"
Cars ["Volvo"] = "x70"
Cars ["Lexus"] = "LX470"
for nøkkel i "$ !biler[@]"
gjøre
ekko "Modellen til $ Key er $ Cars [$ Key]"
Ferdig

Her har jeg brukt $ !biler [@] syntaks for å få alle tastene i det assosiative matrisen og brukte deretter en for loop for å iterere over alle tastene og trykte de tilsvarende verdiene:

Konklusjon

Assosiative matriser er en kraftig datastruktur som lar deg lagre nøkkelverdipar i bash. Du kan opprette en assosiativ matrise ved hjelp. Assosiative matriser kan være nyttige for å organisere og manipulere data i bashskriptene dine.