Bash to potężne narzędzie, które pozwala zautomatyzować złożone zadania i pisać niestandardowe skrypty do przetwarzania danych. Jedną z najbardziej użytecznych funkcji basha jest możliwość używania słowników klucz-wartość do przechowywania danych i manipulowania nimi. Słowniki umożliwiają szybkie i łatwe przechowywanie i uzyskiwanie dostępu do danych, dzięki czemu Twój kod jest bardziej wydajny. W tym artykule omówimy, jak używać słownika klucz-wartość w bashu.
Co to jest słownik klucz-wartość
Słownik klucz-wartość to struktura danych, która umożliwia przechowywanie i dostęp do danych według klucza. Każdy klucz ma odpowiednią wartość, którą może być dowolny typ danych, taki jak ciąg znaków, liczba całkowita lub nawet inna struktura danych, a poniżej znajduje się składnia dodawania wartości do kluczy, po której następuje składnia tworzenia słownika w bashu:
ogłosić -A < dict_name >
Spowoduje to utworzenie pustego słownika o nazwie dict_name z flagą -A wskazującą, że jest to tablica asocjacyjna. Po utworzeniu słownika możesz dodawać do niego klucze i wartości, używając następującej składni:
< dict_name > [ < klucz > ] = < wartość >
Jak korzystać ze słownika klucz-wartość w Bash
Korzystanie ze słownika klucz-wartość w bashu przydaje się w wielu sytuacjach, na przykład podczas generowania własnego hasła, wykonywania skomplikowanych lub długich obliczeń arytmetycznych lub zapisywania szczegółów, do których można uzyskać dostęp w dowolnym miejscu kodu. Tak więc, aby zademonstrować użycie słownika klucz-wartość w bashu, podałem trzy przykłady, które pomogą ci zrozumieć, jak z nich korzystać, a oto te przykłady:
- Wykonywanie operacji arytmetycznych przy użyciu słownika klucz-wartość
- Tworzenie bazy danych przy użyciu słownika klucz-wartość
Jak wykonać operację arytmetyczną przy użyciu słownika klucz-wartość
Innym możliwym zastosowaniem słownika klucz-wartość jest to, że można wykonać kilka różnych operacji arytmetycznych, zarówno złożonych, jak i prostych, a oto kod bash, który wykonuje dodawanie i odejmowanie przy użyciu danych przechowywanych w słowniku:
#!/bin/bash
# Zdefiniuj słownik z parami klucz-wartość
ogłosić -A mój_dykt
mój_dykt [ 'A' ] = 5
mój_dykt [ 'B' ] = 10
mój_dykt [ 'C' ] = piętnaście
# Dodaj dwie wartości do słownika
suma = $ ( ( mój_dykt [ 'A' ] + mój_dykt [ 'B' ] ) )
Echo „Suma a i b wynosi: suma $ '
# Odejmij jedną wartość od drugiej w słowniku
różnica = $ ( ( mój_dykt [ 'C' ] - mój_dykt [ 'A' ] ) )
Echo „Różnica między c i a to: $różnica '
Najpierw definiowana jest tablica asocjacyjna lub słownik o nazwie my_dict z parami klucz-wartość. Następnie dwie wartości ze słownika, aib, są dodawane do siebie i przechowywane w zmiennej o nazwie suma. Wynik dodawania jest drukowany za pomocą polecenia echo.
Następnie jedna wartość ze słownika, a, jest odejmowana od innej wartości, c. Wynik odejmowania jest przechowywany w zmiennej o nazwie diff, a wynik jest drukowany za pomocą polecenia echo. Ogólnie rzecz biorąc, ten skrypt pokazuje, jak używać słowników do przechowywania danych i manipulowania nimi w Bash.
Jak utworzyć bazę danych przy użyciu słownika klucz-wartość
Jednym z najpopularniejszych zastosowań słowników klucz-wartość jest tworzenie bazy danych; mogą to być szczegóły czegokolwiek, czego możesz później użyć w skrypcie basha. Tutaj podałem przykład, który pobiera dane firmy i nie tylko to, że skrypt pokazuje, jak zaktualizować istniejący klucz w słowniku:
#!/bin/bashogłosić -A firma = (
[ nazwa ] = Firma Acme
[ Lokalizacja ] = „Nowy Jork, Nowy Jork”
[ przemysł ] = 'Produkcja'
[ rozmiar ] = 'Duży'
[ założony ] = „1920”
)
# wydrukuj wszystkie szczegóły
drukujf 'Szczegóły firmy: \N '
Do klucz W ' ${!firma[@]} ' ; Do
drukujf '%SS \N ' ' $ klucz ' ' ${firma[$klucz]} '
zrobione
# zmodyfikuj wartość klucza „lokalizacja”.
firma [ 'Lokalizacja' ] = 'Los Angeles, CA'
# wydrukuj zaktualizowane szczegóły
drukujf ' \N Zaktualizowane dane firmy: \N '
Do klucz W ' ${!firma[@]} ' ; Do
drukujf '%SS \N ' ' $ klucz ' ' ${firma[$klucz]} '
zrobione
Ten skrypt basha definiuje słownik o nazwie firma, który zawiera informacje o firmie, takie jak jej nazwa, lokalizacja, branża, wielkość i rok założenia. Funkcja printf służy do wyświetlania danych firmy w czytelnym formacie. Pętla for iteruje po kluczach słownika firmowego i dla każdego klucza wywoływana jest funkcja printf z kluczem i odpowiadającą mu wartością jako argumentami. Słownik firmowy jest następnie aktualizowany poprzez zmianę wartości klucza lokalizacji na „Los Angeles, CA”. Wreszcie zaktualizowane dane firmy są wyświetlane w tym samym formacie, co przed użyciem innej pętli for i funkcji printf:
Wniosek
Używanie tablic asocjacyjnych może pomóc w zwiększeniu wydajności i łatwości obsługi skryptów bash, umożliwiając przechowywanie i pobieranie danych przy użyciu znaczących nazw zamiast tajemniczych indeksów. Ten artykuł demonstruje użycie słowników klucz-wartość w Bash za pomocą dwóch przykładów.