Bash е мощен инструмент, който ви позволява да автоматизирате сложни задачи и да пишете персонализирани скриптове за обработка на данни. Една от най-полезните функции на bash е възможността да се използват речници ключ-стойност за съхраняване и манипулиране на данни. Речниците ви позволяват да съхранявате и осъществявате достъп до данни бързо и лесно, което прави вашия код по-ефективен. В тази статия ще обсъдим как да използваме речник ключ-стойност в bash.
Какво е речник ключ-стойност
Речникът ключ-стойност е структура от данни, която ви позволява да съхранявате и осъществявате достъп до данни по ключ. Всеки ключ има съответна стойност, която може да бъде всякакъв тип данни, като низ, цяло число или дори друга структура от данни, а по-долу е синтаксисът за добавяне на стойности към ключовете, последван от синтаксиса за създаване на речник в bash:
декларирам -А < dict_name >
Това създава празен речник с име на dict_name с флаг -A, показващ, че това е асоциативен масив. След като създадете речник, можете да добавите ключове и стойности към него, като използвате следния синтаксис:
< dict_name > [ < ключ > ] = < стойност >
Как да използвате речник ключ-стойност в Bash
Използването на речник ключ-стойност в bash е полезно в много сценарии, като например при генериране на парола по ваш собствен избор, като извършване на сложни или дълги аритметични изчисления или запазване на подробности, до които имате достъп навсякъде в кода. И така, за да демонстрирам използването на речника ключ-стойност в bash, дадох три примера, които ще ви помогнат да разберете как да ги използвате и ето тези примери:
- Извършване на аритметична операция с помощта на речник ключ-стойност
- Създаване на база данни с помощта на речник ключ-стойност
Как да извършите аритметична операция с помощта на речник ключ-стойност
Друга възможна употреба на речника ключ-стойност е, че човек може да изпълнява няколко различни аритметични операции, сложни или прости, и тук е bash кодът, който извършва събиране и изваждане, използвайки данните, съхранени в речника:
#!/bin/bash
# Дефинирайте речник с двойки ключ-стойност
декларирам -А my_dict
my_dict [ 'а' ] = 5
my_dict [ 'б' ] = 10
my_dict [ '° С' ] = петнадесет
# Добавете две стойности в речника
сума =$ ( ( my_dict [ 'а' ] + my_dict [ 'б' ] ) )
ехо „Сборът от a и b е: $сума '
# Извадете една стойност от друга в речника
диф =$ ( ( my_dict [ '° С' ] - my_dict [ 'а' ] ) )
ехо „Разликата между c и a е: $разл '
Първо, асоциативен масив или речник с име my_dict се дефинира с двойки ключ-стойност. След това две стойности от речника, a и b, се събират заедно и се съхраняват в променлива, наречена сума. Резултатът от добавянето се отпечатва с помощта на командата echo.
След това една стойност от речника, a, се изважда от друга стойност, c. Резултатът от изваждането се съхранява в променлива, наречена diff, и резултатът се отпечатва с помощта на командата echo. Като цяло този скрипт демонстрира как да използвате речници за съхраняване и манипулиране на данни в Bash.
Как да създадете база данни с помощта на речник ключ-стойност
Една от най-популярните употреби на речниците ключ-стойност е създаването на база данни; може да са подробности за всичко, което можете да използвате по-късно в bash скрипта. Тук съм дал пример, който взема данните на компания и не само, че скриптът показва как да актуализирате съществуващ ключ в речника:
#!/bin/bashдекларирам -А компания = (
[ име ] = 'Акме Корпорейшън'
[ местоположение ] = „Ню Йорк Сити, Ню Йорк“
[ индустрия ] = 'Производство'
[ размер ] = 'Голям'
[ основан ] = '1920'
)
# отпечатайте всички подробности
printf „Подробности за фирмата: \н '
за ключ в ' ${!компания[@]} ' ; направи
printf „%s: %s \н ' ' $ключ ' ' ${company[$key]} '
Свършен
# променете стойността на ключа 'локация'.
компания [ 'местоположение' ] = 'Лос Анджелис, Калифорния'
# отпечатайте актуализираните подробности
printf ' \н Актуализирани данни за фирмата: \н '
за ключ в ' ${!компания[@]} ' ; направи
printf „%s: %s \н ' ' $ключ ' ' ${company[$key]} '
Свършен
Този bash скрипт дефинира речник, наречен компания, който съдържа информация за компания, като нейното име, местоположение, индустрия, размер и година на основаване. Функцията printf се използва за показване на подробности за компанията в четим формат. Цикълът for итерира ключовете на фирмения речник и за всеки ключ се извиква функцията printf с ключа и съответната му стойност като аргументи. След това фирменият речник се актуализира чрез промяна на стойността на ключа за местоположение на „Лос Анджелис, Калифорния“. И накрая, актуализираните подробности за компанията се показват в същия формат, както преди, използвайки друг for цикъл и функцията printf:
Заключение
Използването на асоциативни масиви може да ви помогне да направите вашите bash скриптове по-ефективни и поддържаеми, като ви позволи да съхранявате и извличате данни, като използвате смислени имена, а не загадъчни индекси. Тази статия демонстрира използването на речници ключ-стойност в Bash с помощта на два примера.