Mi Bash Szótár Linux, és hogyan használjuk őket?

Jun 16, 2025
Linux
fatmawati Achmad Zaenuri / Shutterstock.com

Bash szótárak kapsz hash térképek és asszociatív tömbök Linux shell script. Megmutatjuk, hogyan kell használni ezeket hatékony és hasznos adatstruktúrák saját Linux shell script.

A rózsa más név

A hivatalos neve szótárak asszociatív tömbök. Ők is nevezik hash táblák és a hash térképeket. Ők egy adatstruktúrát hasonlóan működik szabályos elrendezésben, de jelentős különbség.

Egy tömb adatgyűjtés értékek tartott egy adatszerkezet. Eléréséhez az adatok bármelyike ​​értékek, amelyek ismert tömb elemeit, meg kell tudni, hogy a helyzet a tömbben. Egy tömb elem helyzetét a tömb ismert az index, így az ilyen típusú tömbök ismert indexelt tömbök. Ők a leggyakrabban használt típusú tömbök.

Azonban nem az a hátránya. Hogyan érhetők el a tömb elemének, ha nem tudja a pozícióját a listán? Meg kell végigmenni az összes elemet a tömbben, teszteljük, hogy megtudjuk, hogy az érték az adott helyen az egyetlen, amit keres.

Az asszociatív tömbök leküzdeni ezt a kérdést. Nem használják egész egyedileg azonosítja mezőelemekhez. Ezek használata egyedi szavak ismert kulcsszavak. Lekérheti a értéke egy tömb elem segítségével a kulcsszó, függetlenül attól, hogy az hol helyezkedik belül a tömbben. Egy indexelt tömb, az egész számok képviselő pozíciókat a tömb növekvő sorrendben. A kulcsszavak egy asszociatív tömbben lehet bármilyen sorrendben.

Akkor nézd meg értéket egy asszociatív tömbben keres annak kulcsszó. Keresek egy szót, és visszakeresésére a kapcsolódó érték utánozza keresi fel egy szót a szótárban, és megállapította annak értelmét. Ezért az asszociatív tömböket ismert szótárak.

Bash 4.0 vagy magasabb

Az asszociatív tömbök támogatottak A Bash shell 4.0 vagy magasabb. Ha használja a jelenlegi Linux-disztribúció, akkor legyen finom. Ahhoz, hogy ellenőrizze a Bash változata, ezzel a paranccsal:

 bash --version 

A gép használt, találjon ezt a cikket Bash 5.1.4 telepítve, így még jól jöhet.

Alapelvek

Hogy hozzon létre egy asszociatív tömböt a terminál parancssor vagy egy script, akkor használja a Bash állapítsa parancsot. Az -A (Asszociatív) opció megmondja Bash, hogy ez lesz az asszociatív tömb, és nem indexelt tömb.

 állapítsa -A betűszavak 

Ez létrehoz egy asszociatív tömb az úgynevezett „rövidítések.”

Ahhoz, hogy néhány adat a mi tömb, meg kell, hogy kulcsszavakat és értékeket. Ezt megtehetjük a következő formátumban:

 array-név [kulcs] = Érték 

Adjunk hozzá néhány tömb elemeit:

 mozaikszavak [ACK] = nyugtázás 
 mozaikszavak [BGP] = "Border Gateway Protocol" 
 mozaikszavak [CIDR] = "osztálynélküli Inter-Domain Routing" 
 mozaikszavak [DHCP] = "Dynamic Host Configuration Protocol" 
 mozaikszavak [EOF] = "end of frame" 

Azok parancs meghatározza az öt tömb elemeit. Vegye figyelembe, hogy az értékek idézőjelek közé, ha van szóköz az értéket. A kulcsszó a bevitt ABC sorrendben, de lehet beírni bármilyen sorrendben tetszik. A kulcsszavak egyedinek kell lennie. Ha megpróbálja, hogy két bejegyzés azonos kulcsszó, a második érték, hogy adja meg felülírja az elsőt. Akkor is csak egy bejegyzés, hogy a kulcsszó, és ez lesz, amely a második értéket, amit hozzá.

Ahhoz, hogy megkapja értékeket a tömb, az általunk használt parancsok ebben a formátumban:

 $ {array-név [kulcs]} 

Tudjuk használni echo küldeni a kimenetet a terminál ablakban:

 echo $ {mozaikszavak [ACK]} 
 echo $ {mozaikszavak [DHCP]} 

használata Loops

A tömbök adnak arra, hogy használják a hurok nagyon jól. Az asszociatív tömbök sem kivétel. Loops hatékony módon hivatkozni egy műveletsor nélkül ismétlődő szakaszai kódot. Mielőtt megnézzük hurkok, van egy hatékony módja annak, hogy tömböt.

Elkészítjük a tömbök segítségével kijelent parancsot (ugyanazon -A lehetőség, mint korábban), de mi biztosítja a kulcsszavak és értékek listáját a parancssorban.

 állapítsa -A országok = ([ALB] = Albánia [BHR] = Bahrain [CMR] = Kamerun [DNK] = Dánia [EGY] = Egyiptom) 

A tömb neve „ország”, és hogy csatlakozik az értéklistákban egyenlőségjellel” = . " Az érték lista csomagolva zárójelben „ () ”És minden kulcsszót csomagolva zárójelben„ [] „. Vegyük észre, hogy nincsenek vesszők elválasztó értékeket. Ha van egy karaktersorozatot tartalmazó terek, akkor be kell csomagolni idézőjelben.

Ahhoz, hogy egy asszociatív tömböt ad vissza kulcsszó érték helyett, adjunk hozzá egy felkiáltójel „ ! ”Előtt a tömb nevét. Az a szimbólum „ @ ”Lehet használni, mint egy helyettesítő, ami az összes tömb elemeit.

Ez mert loop kiírja az összes kulcsszó:

 A kulcs a "$ {! Országokban [@]}"; do echo $ kulcs; történik 

Megjegyezzük, hogy a kulcsszavak nem feltétlenül abban a sorrendben, hogy ők hozták létre, de ez nem számít. Az asszociatív tömbök nem hivatkozhat a rendezett index.

Azt is használhatja a paraméter bővítése felsorolni az összes kulcsszót. Fognak egyetlen sorban, nem soronként egyet.

 echo "$ {! Országokban [@]}" 
 echo "$ {! Mozaikszavak [@]}" 

Mi lehet gyarapítása mert hurok nyomtatni a kulcsszavakat és értékeket egyidejűleg.

 a kulcs "$ {! Mozaikszavak [@]}"; do echo "$ kulcs - $ {mozaikszavak [$ kulcs]}"; történik 

Ha meg akarjuk tudni, hogy hány elem van a tömbök, fel tudjuk használni a hash „#” jelet a tömb neve helyett egy felkiáltójel.

 echo "$ {! Országokban [@]}" 
 echo "$ {! Mozaikszavak [@]}" 

Annak ellenőrzése, hogy egy tömb elem létezik

Ha keres egy kulcsszó, de nincs ilyen tömb elemet, a visszatérési érték egy üres karakterlánc. Néha hasznos lehet egy másik indikátora az jelenlétét vagy hiányát egy tömb elem.

Tudjuk jelenlétének ellenőrzése tömb elemének a „ + _ " operátor. Megjegyzendő, hogy ez után jön a kulcsszó, nem előtte a tömb nevét, mint a korábbi üzemeltetők láttunk.

, ha a [$ {mozaikszavak [EOF] + _}]; then echo "Talált"; else echo "Nem található"; fi 
, ha a [$ {mozaikszavak [FTP] + _}]; then echo "Talált"; else echo "Nem található"; fi 

A tömb elemet a kulcsszó „EOF” megtalálható a tömb, de a tömb eleme a kulcsszó „FTP” nem.

Hozzáadása Array Elements

Új elemekkel, hogy az asszociatív tömb egyszerű. Ellentétben néhány programozási nyelvek, akkor nem kell, hogy meghatározza a mérete a tömb, ha nyilvánítja. Tudod tartani, hogy új elemeket nem üti egy előre meghatározott felső határt.

Új elem, hogy a tömb, akkor használja a „ + = " operátor.

 országok + = ([FJI] = Fidzsi) 
 echo "$ (# országokban [@]}" 
 echo $ {országokban [FJI]} 

Az elemek száma a tömbben most hat, és keresi az új kulcsszó találja a tömb eleme, és visszaadja az értékét.

Eltávolítása Array elemek és tömbök

Az hatástalanított parancs eltávolítására használt tömb elemeinek. Ha a kulcsszó terek azt, csomagoljuk idézőjelben.

 hatástalanítva mozaikszavak [EOF] 
, ha a [$ {mozaikszavak [EOF] + _}]; then echo "Talált"; else echo "Nem található"; fi 

Ahhoz, hogy távolítsa el az egész tömböt, használat hatástalanított a neve a tömbben.

 hatástalanítva országokban 

Változók használata a tömbök

Használata változók asszociatív tömbök egyszerű. Ebben a példában azt fogjuk beállítani egy változó kulcs a string „EOF.” Használni fogjuk a változó amikor egy új tömb elem a tömbben. Tulajdonképpen mi helyett a tömb eleme, hogy el kell hagyni korábban.

Az új tömbelemet az új kulcsszóval és a változó segítségével hívjuk fel. Ha a kulcsszó tartalmaz tereket, akkor meg kell csomagolnia a változó nevét idézőjelekben.

 Key = EOF 
 Bekronms [$ Key] = "A keret vége" 
 Echo $ {acronims [eo]} 
 Echo $ {rövidítések [$ billentyű]} 

Kreatív

A példák voltak információgyűjtemények ahol minden tömb elem független az összes többi, mint egy szótárban. Mindegyik egyedülálló definíció. De az asszociatív tömbök ugyanolyan könnyen tartani a különböző információkat az összes kapcsolódó egy dolog, mint például a leírások különböző darabjainak számítógépes hardver:

 Deklare -A specifikáció 
 Specifikáció [CPU] = "Dual Core AMD Ryzen 5 3600" 
 Specifikáció [Speed] = "3600 MHz" 
 Specifikáció [kernel] = "5.11.0-17-generikus x86_64" 
 Specifikáció [MEM] = "1978.5 MIB" 
 Specifikáció [Tárolás] = "32 Gib" 
 Specifikáció [Shell] = "Bash" 
 Echo $ {specifikáció [CPU]} 

Írásban hatékonyan nyelven azt jelenti, tudva mechanizmusok és struktúrák, hogy kínál, és kiválasztja a legmegfelelőbb az a probléma, hogy próbál megoldani. Az asszociatív tömbök kapsz egy könnyen használható módon az adatok tárolására, hogy kereshet név, mint egy szótár.


Linux - Most Popular Articles

Hogyan lehet visszaállítani a törölt fájlokat Linuxon tesztdiszkrel

Linux Nov 18, 2024

Fatmawati Achmad Zaenuri / Shutterstock Előfordult már törölt egy fájlt, és azonnal meg is bánta meg? Szükség van rá vissza, és gyorsan! De mi van, ..


Hogyan kell használni az FSCK parancsot a Linuxon

Linux Aug 18, 2025

Pixza Studio / Shutterstock Minden fontos adat ül egy fájlrendszer az egyik típus, vagy egy másik, és a fájlrendszer kérdéseket kellett történnie. Li..


Hogyan Run Android-alkalmazások Linux

Linux Oct 19, 2025

csendes / shutterstock.com Valaha akartam egy Android-alkalmazást futtatni a Linuxon, de nem akart megrázni a hibakeresési hidakkal, fejlesztési környezet..


Hogyan letöltése és telepítése Steam Linux

Linux Oct 9, 2025

Postmodern stúdió / shutterstock.com Szóval, meg akarod próbálni a játékot Linux ? Ebben a cikkben, nézzük meg, hogyan kell telepíteni a S..


Tud Linux telepítése egy M1 Apple Mac Silicon?

Linux Nov 12, 2024

Nem mindenki vásárol Mac-t, hogy kizárólag MacOS-t futtatja. A rossz hír az, hogy a november 2021-től az Apple Silicon natív Linux támogatása még nem lehetséges. Előrehaladá..


Hogyan kell öblíteni a DNS -t a linuxban

Linux Nov 14, 2024

Az internetes böngészési élménye lassú -e a Linux eszközön, vagy a látogatott webhelyek elavultak -e, vagy a rossz webhely? Beszéljük meg a DNS -gyorsítótár öblítését a Linuxo..


Hogyan kell kezelni a szóközöket a linux fájlnevekben

Linux Dec 14, 2024

A legtöbb operációs rendszerhez hasonlóan a Linux is támogatja a fájlneveket a benne lévő terekkel. De ezeknek a fájlneveknek a parancssoron történő használata nem mindig egyértel..


Hogyan állítsunk be statikus IP -címet Ubuntu -ban

Linux Oct 17, 2025

Az otthoni hálózat az IP -címekre támaszkodik az eszközök közötti adatok irányításához, és néha a hálózathoz való csatlakozásra, amelyben az eszköz címe megváltozhat. Így ..


Kategóriák