Kuidas Bashis võtmeväärtuste sõnastikku kasutada

Kuidas Bashis Votmevaartuste Sonastikku Kasutada



Bash on võimas tööriist, mis võimaldab automatiseerida keerulisi ülesandeid ja kirjutada kohandatud skripte andmete töötlemiseks. Bashi üks kasulikumaid funktsioone on võimalus kasutada andmete salvestamiseks ja töötlemiseks võtmeväärtuste sõnastikke. Sõnastikud võimaldavad teil andmeid kiiresti ja lihtsalt salvestada ja neile juurde pääseda, muutes koodi tõhusamaks. Selles artiklis arutame, kuidas kasutada bashis võtmeväärtuste sõnastikku.

Mis on võtmeväärtuste sõnastik

Võtmeväärtuste sõnastik on andmestruktuur, mis võimaldab salvestada andmeid võtmete järgi ja neile juurde pääseda. Igal võtmel on vastav väärtus, mis võib olla mis tahes tüüpi andmed, näiteks string, täisarv või isegi muu andmestruktuur, ja allpool on toodud võtmetele väärtuste lisamise süntaks, millele järgneb bashis sõnastiku loomise süntaks:







kuulutama -A < diktaadi_nimi >



See loob tühja sõnastiku nimega dict_name koos lipuga -A, mis näitab, et tegemist on assotsiatiivse massiiviga. Kui olete sõnastiku loonud, saate sellele lisada võtmeid ja väärtusi, kasutades järgmist süntaksit:



< diktaadi_nimi > [ < võti > ] = < väärtus >





Kuidas kasutada Bashis võtmeväärtuste sõnastikku

Võtmeväärtuste sõnastiku kasutamine bashis on mugav paljudes stsenaariumides, näiteks enda valitud pääsukoodi genereerimisel, näiteks keeruka või pika aritmeetilise arvutuse tegemisel või üksikasjade salvestamisel, millele pääsete juurde koodi kõikjalt. Võtmeväärtuste sõnastiku kasutamise demonstreerimiseks bashis olen toonud kolm näidet, mis aitavad teil mõista, kuidas neid kasutada, ja siin on need näited:

Kuidas teostada aritmeetilist toimingut võtmeväärtuse sõnastiku abil

Võtmeväärtuste sõnastiku teine ​​võimalik kasutus on see, et saab teha mitmeid erinevaid aritmeetilisi operatsioone, kas keerukaid või lihtsaid ning siin on bash-kood, mis teostab liitmise ja lahutamise, kasutades sõnastikku salvestatud andmeid:



#!/bin/bash
# Määratlege võtme-väärtuste paaridega sõnastik
kuulutama -A minu_dikt
minu_dikt [ 'a' ] = 5
minu_dikt [ 'b' ] = 10
minu_dikt [ 'c' ] = viisteist

# Lisage sõnastikku kaks väärtust
summa =$ ( ( minu_dikt [ 'a' ] + minu_dikt [ 'b' ] ) )
kaja 'A ja b summa on: $summa '

# Lahutage sõnastikus üks väärtus teisest
diff =$ ( ( minu_dikt [ 'c' ] - minu_dikt [ 'a' ] ) )
kaja 'Erinevus c ja a vahel on järgmine: $diff '

Esiteks määratletakse assotsiatiivne massiiv või sõnastik nimega my_dict võtme-väärtuste paaridega. Seejärel liidetakse kaks sõnaraamatu väärtust a ja b ning salvestatakse muutujasse nimega summa. Lisamise tulemus prinditakse välja käsu kaja abil.

Järgmiseks lahutatakse sõnastikust üks väärtus a teisest väärtusest c. Lahutamise tulemus salvestatakse muutujasse nimega diff ja tulemus prinditakse välja käsu echo abil. Üldiselt näitab see skript, kuidas kasutada sõnaraamatuid andmete salvestamiseks ja manipuleerimiseks Bashis.

Kuidas luua andmebaasi võtmeväärtuste sõnastiku abil

Üks populaarsemaid võtmeväärtuste sõnastike kasutusviise on andmebaasi loomine; see võib olla üksikasjad kõige kohta, mida saate hiljem bash-skriptis kasutada. Siin olen toonud näite, mis võtab ettevõtte andmed, mitte ainult seda, et skript näitab, kuidas uuendada olemasolevat võtit sõnastikus:

#!/bin/bash
kuulutama -A ettevõte = (
[ nimi ] = 'Acme Corporation'
[ asukoht ] = 'New York City, NY'
[ tööstusele ] = 'Tootmine'
[ suurus ] = 'Suur'
[ asutatud ] = '1920'
)

# printige kõik üksikasjad
printf 'Ettevõtte üksikasjad: \n '
jaoks võti sisse ' ${!ettevõte[@]} ' ; teha
printf '%s: %s \n ' ' $võti ' ' ${ettevõte[$key]} '
tehtud

# muutke asukohavõtme väärtust
ettevõte [ 'asukoht' ] = 'Los Angeles, CA'

# printige värskendatud üksikasjad
printf ' \n Uuendatud ettevõtte üksikasjad: \n '
jaoks võti sisse ' ${!ettevõte[@]} ' ; teha
printf '%s: %s \n ' ' $võti ' ' ${ettevõte[$key]} '
tehtud

See bash-skript määratleb sõnastiku nimega ettevõte, mis sisaldab teavet ettevõtte kohta, nagu nimi, asukoht, tegevusala, suurus ja asutamisaasta. Funktsiooni printf kasutatakse ettevõtte andmete kuvamiseks loetavas vormingus. Silmus for kordub ettevõtte sõnastiku klahvidega ja iga võtme puhul kutsutakse välja printf-funktsioon koos võtme ja sellele vastava väärtusega argumentidena. Seejärel värskendatakse ettevõtte sõnastikku, muutes asukohavõtme väärtuseks „Los Angeles, CA”. Lõpuks kuvatakse ettevõtte värskendatud üksikasjad samas vormingus nagu enne teise for loopi ja funktsiooni printf kasutamist:

Järeldus

Assotsiatiivsete massiivide kasutamine võib aidata teil muuta oma bash-skripte tõhusamaks ja hooldatavamaks, võimaldades teil salvestada ja hankida andmeid tähenduslike nimede, mitte krüptiliste indeksite abil. See artikkel demonstreerib kahe näite abil võtmeväärtuste sõnaraamatute kasutamist Bashis.