Басх је моћан алат који вам омогућава да аутоматизујете сложене задатке и пишете прилагођене скрипте за обраду података. Једна од најкориснијих карактеристика басх-а је могућност коришћења речника кључ/вредност за складиштење и манипулацију подацима. Речници вам омогућавају да брзо и лако складиштите и приступате подацима, чинећи ваш код ефикаснијим. У овом чланку ћемо разговарати о томе како да користите речник кључ/вредност у басх-у.
Шта је речник кључ-вредност
Речник кључ/вредност је структура података која вам омогућава да складиштите и приступате подацима по кључу. Сваки кључ има одговарајућу вредност, која може бити било који тип података, као што је низ, цео број или чак друга структура података, а испод је синтакса за додавање вредности кључевима праћена синтаксом прављења речника у басх-у:
прогласити -А < дицт_наме >
Ово ствара празан речник под називом дицт_наме са заставицом -А која указује да је то асоцијативни низ. Када направите речник, можете му додати кључеве и вредности користећи следећу синтаксу:
< дицт_наме > [ < кључ > ] = < вредност >
Како користити речник кључ-вредност у Басху
Коришћење речника кључ/вредност у басх-у је згодно у многим сценаријима као што је када генеришете шифру по сопственом избору, као што је извођење сложених или дугачких аритметичких израчунавања или чување детаља којима можете приступити било где у коду. Дакле, да бих демонстрирао употребу речника кључ/вредност у басх-у дао сам три примера који ће вам помоћи да разумете како да их користите, а ево тих примера:
- Извођење аритметичке операције помоћу речника кључ/вредност
- Креирање базе података помоћу речника кључ/вредност
Како извршити аритметичку операцију користећи речник кључ/вредност
Друга могућа употреба речника кључ/вредност је да се може извршити неколико различитих аритметичких операција, било сложених или једноставних, а ево басх кода који врши сабирање и одузимање користећи податке ускладиштене у речнику:
#!/бин/басх
# Дефинишите речник са паровима кључ/вредност
прогласити -А ми_дицт
ми_дицт [ 'а' ] = 5
ми_дицт [ 'б' ] = 10
ми_дицт [ 'ц' ] = петнаест
# Додајте две вредности у речник
сум =$ ( ( ми_дицт [ 'а' ] + ми_дицт [ 'б' ] ) )
одјек „Збир а и б је: $сум '
# Одузмите једну вредност од друге у речнику
дифф =$ ( ( ми_дицт [ 'ц' ] - ми_дицт [ 'а' ] ) )
одјек „Разлика између ц и а је: $дифф '
Прво, асоцијативни низ или речник под називом ми_дицт је дефинисан паровима кључ/вредност. Затим се две вредности из речника, а и б, сабирају и чувају у променљивој која се зове сум. Резултат додавања се штампа помоћу команде ецхо.
Затим, једна вредност из речника, а, одузима се од друге вредности, ц. Резултат одузимања се чува у променљивој која се зове дифф, а резултат се штампа помоћу команде ецхо. Све у свему, ова скрипта показује како да користите речнике за складиштење и манипулацију подацима у Басху.
Како направити базу података користећи речник кључ-вредност
Једна од најпопуларнијих употреба речника кључ/вредност је креирање базе података; то могу бити детаљи било чега што касније можете користити у басх скрипти. Овде сам дао пример који узима податке компаније и не само да скрипта показује како да ажурирате постојећи кључ у речнику:
#!/бин/басхпрогласити -А компанија = (
[ име ] = 'Ацме Цорпоратион'
[ локација ] = „Њујорк Сити, Њујорк“
[ индустрија ] = 'Производња'
[ величина ] = 'велики'
[ основао ] = '1920'
)
# одштампајте све детаље
принтф 'Више информација: \н '
за кључ ин ' ${!цомпани[@]} ' ; урадите
принтф '%с: %с \н ' ' $кеи ' ' ${цомпани[$кеи]} '
Готово
# мења вредност кључа 'локација'.
компанија [ 'локација' ] = „Лос Анђелес, Калифорнија“
# одштампајте ажуриране детаље
принтф ' \н Ажурирани детаљи компаније: \н '
за кључ ин ' ${!цомпани[@]} ' ; урадите
принтф '%с: %с \н ' ' $кеи ' ' ${цомпани[$кеи]} '
Готово
Ова басх скрипта дефинише речник под називом компанија који садржи информације о компанији, као што су њено име, локација, индустрија, величина и година оснивања. Функција принтф се користи за приказ детаља о компанији у читљивом формату. Петља фор итерира преко кључева речника компаније, а за сваки кључ се позива функција принтф са кључем и његовом одговарајућом вредношћу као аргументима. Речник компаније се затим ажурира променом вредности кључа локације у „Лос Анђелес, Калифорнија“. Коначно, ажурирани детаљи компаније су приказани у истом формату као и раније коришћењем друге фор петље и функције принтф:
Закључак
Коришћење асоцијативних низова може вам помоћи да ваше басх скрипте учините ефикаснијим и одрживим, омогућавајући вам да складиштите и преузимате податке користећи смислена имена, а не криптичне индексе. Овај чланак демонстрира употребу речника кључ/вредност у Басху уз помоћ два примера.