Bash je výkonný nástroj, ktorý vám umožňuje automatizovať zložité úlohy a písať vlastné skripty na spracovanie údajov. Jednou z najužitočnejších funkcií bash je možnosť používať slovníky kľúč-hodnota na ukladanie a manipuláciu s údajmi. Slovníky vám umožňujú rýchlo a jednoducho ukladať údaje a pristupovať k nim, vďaka čomu je váš kód efektívnejší. V tomto článku budeme diskutovať o tom, ako používať slovník kľúč-hodnota v bash.
Čo je to slovník kľúčových hodnôt
Slovník kľúč-hodnota je dátová štruktúra, ktorá vám umožňuje ukladať údaje a pristupovať k nim podľa kľúča. Každý kľúč má zodpovedajúcu hodnotu, ktorou môže byť akýkoľvek typ údajov, ako je reťazec, celé číslo alebo dokonca iná dátová štruktúra a nižšie je syntax na pridávanie hodnôt do kľúčov, po ktorej nasleduje syntax vytvorenia slovníka v bash:
vyhlásiť -A < dict_name >
Tým sa vytvorí prázdny slovník s názvom dict_name s príznakom -A, ktorý indikuje, že ide o asociatívne pole. Po vytvorení slovníka doň môžete pridať kľúče a hodnoty pomocou nasledujúcej syntaxe:
< dict_name > [ < kľúč > ] = < hodnotu >
Ako používať slovník kľúč-hodnota v Bash
Používanie slovníka kľúč-hodnota v bash je užitočné v mnohých scenároch, napríklad pri generovaní prístupového kódu podľa vlastného výberu, ako je vykonávanie zložitých alebo dlhých aritmetických výpočtov alebo ukladanie podrobností, ku ktorým máte prístup kdekoľvek v kóde. Aby som demonštroval použitie slovníka kľúč-hodnota v bash, uviedol som tri príklady, ktoré vám pomôžu pochopiť, ako ich používať, a tu sú tieto príklady:
- Vykonávanie aritmetických operácií pomocou slovníka kľúč – hodnota
- Vytvorenie databázy pomocou slovníka kľúč-hodnota
Ako vykonať aritmetické operácie pomocou slovníka kľúč – hodnota
Ďalším možným použitím slovníka kľúč-hodnota je, že je možné vykonávať niekoľko rôznych aritmetických operácií, buď zložitých alebo jednoduchých, a tu je bash kód, ktorý vykonáva sčítanie a odčítanie pomocou údajov uložených v slovníku:
#!/bin/bash
# Definujte slovník s pármi kľúč – hodnota
vyhlásiť -A môj_dikt
môj_dikt [ 'a' ] = 5
môj_dikt [ 'b' ] = 10
môj_dikt [ 'c' ] = pätnásť
# Pridajte dve hodnoty do slovníka
súčet = $ ( ( môj_dikt [ 'a' ] + môj_dikt [ 'b' ] ) )
ozvena 'Súčet a a b je: $sum '
# Odčítajte jednu hodnotu od druhej v slovníku
dif = $ ( ( môj_dikt [ 'c' ] - môj_dikt [ 'a' ] ) )
ozvena 'Rozdiel medzi c a a je: $diff '
Najprv je pomocou párov kľúč-hodnota definované asociatívne pole alebo slovník s názvom my_dict. Potom sa dve hodnoty zo slovníka, a a b, sčítajú a uložia do premennej s názvom sum. Výsledok sčítania sa vytlačí pomocou príkazu echo.
Potom sa jedna hodnota zo slovníka, a, odčíta od inej hodnoty, c. Výsledok odčítania sa uloží do premennej s názvom diff a výsledok sa vytlačí pomocou príkazu echo. Celkovo tento skript ukazuje, ako používať slovníky na ukladanie a manipuláciu s údajmi v Bash.
Ako vytvoriť databázu pomocou slovníka kľúč-hodnota
Jedným z najpopulárnejších použití slovníkov kľúč-hodnota je vytvorenie databázy; môžu to byť detaily čohokoľvek, čo môžete neskôr použiť v bash skripte. Tu som uviedol príklad, ktorý berie údaje spoločnosti a nielen to, že skript ukazuje, ako aktualizovať existujúci kľúč v slovníku:
#!/bin/bashvyhlásiť -A spoločnosti = (
[ názov ] = 'Acme Corporation'
[ umiestnenie ] = 'New York City, NY'
[ priemyslu ] = 'výroba'
[ veľkosť ] = 'Veľký'
[ založil ] = '1920'
)
# vytlačte všetky podrobnosti
printf 'Podrobnosti o spoločnosti: \n '
pre kľúč v ' ${!company[@]} ' ; robiť
printf '%s: %s.' \n ' ' $kľúč ' ' ${company[$key]} '
hotový
# upravte hodnotu kľúča „umiestnenie“.
spoločnosti [ 'miesto' ] = 'Los Angeles, CA'
# vytlačte aktualizované podrobnosti
printf ' \n Aktualizované údaje o spoločnosti: \n '
pre kľúč v ' ${!company[@]} ' ; robiť
printf '%s: %s.' \n ' ' $kľúč ' ' ${company[$key]} '
hotový
Tento bash skript definuje slovník s názvom company, ktorý obsahuje informácie o spoločnosti, ako je jej názov, umiestnenie, odvetvie, veľkosť a rok založenia. Funkcia printf slúži na zobrazenie detailov firmy v čitateľnom formáte. Cyklus for iteruje kľúče firemného slovníka a pre každý kľúč sa volá funkcia printf s kľúčom a jeho zodpovedajúcou hodnotou ako argumentmi. Firemný slovník sa potom aktualizuje zmenou hodnoty kľúča umiestnenia na „Los Angeles, CA“. Nakoniec sa aktualizované podrobnosti o spoločnosti zobrazia v rovnakom formáte ako pred použitím inej slučky for a funkcie printf:
Záver
Používanie asociatívnych polí vám môže pomôcť zefektívniť a spravovať vaše bash skripty tým, že vám umožní ukladať a získavať údaje pomocou zmysluplných názvov, a nie kryptických indexov. Tento článok ukazuje použitie slovníkov kľúč – hodnota v Bash pomocou dvoch príkladov.