Hogyan lehet összehasonlítani a karakterláncokat a Bash -ban

How Compare Strings Bash



Különböző programozási célokból összehasonlítanunk kell két karakterlánc értékét. A beépített függvényeket sok programozási nyelvben használják két sztring egyenlőségének tesztelésére. A bash használatával ellenőrizheti két karakterlánc egyenlőségét és egyenlőtlenségét ha nyilatkozat. == az egyenlőség ellenőrzésére és ! = a karakterláncok egyenlőtlenségének ellenőrzésére szolgál. Részben összehasonlíthatja két karakterlánc értékét bash -ban is. A bash -ban szereplő karakterláncok értékeinek összehasonlítását az oktatóanyag különböző példái mutatják be.

1. példa: Karakterláncok összehasonlítása == operátorokkal

Nincs beépített összehasonlító funkció, amely a két szabványos programozási nyelvhez hasonlóan ellenőrzi két karakterlánc értékét a bash-ban. A következő szkriptben két karakterlánc -változó, strval1 és strval2 deklarálják. E két karakterlánc -változó méltányosságát az első segítségével tesztelik ha a forgatókönyv nyilatkozata. Az értéke strval1 karakterlánc értékével hasonlítják össze a második egyenlőségét ha nyilatkozat.







#!/bin/bash

strval1='Ubuntu'
strval2='Ablakok'

#Ellenőrizze az egyenlőség két karakterlánc -változóját

ha [ $ strval1==$ strval2 ];azután
kidobta 'A húrok egyenlők'
más
kidobta 'A húrok nem egyenlők'
lenni

#Ellenőrizze a változó egyenlőségét karakterlánc értékkel

ha [ $ strval1=='Ubuntu' ];azután
kidobta 'Linux operációs rendszer'
más
kidobta 'Windows operációs rendszer'
lenni

Kimenet:



Az első összehasonlítás nem egyenlő, a második összehasonlítás pedig egyenlő.







2. példa: Karakterlánc-összehasonlítás! = Operátor használatával

Két string változó egyenlőtlenségét a következő példa ellenőrzi. Itt két érték nem egyenlő. Tehát, ha a feltétel igaz lesz és Windows operációs rendszer nyomtatni fog.

#!/bin/bash

strval1='Ubuntu'
strval2='Ablakok'

#Ellenőrizze a változó egyenlőtlenségét karakterlánc értékkel

ha [ $ strval2 !='Ubuntu' ];azután
kidobta 'Windows operációs rendszer'
más
kidobta 'Linux operációs rendszer'
lenni

Kimenet:



3. példa: Részleges karakterlánc-összehasonlítás

Összehasonlíthatja a részértéket, ha a bash scriptben helyettesítő karaktert használ. A következő szkriptben * helyettesítő karakterként használják a részleges egyezéshez. A karakterlánc változója, strval tartalmazza a szót Internet. Szóval, az első ha parancsfájl igaz és nyomtatott formában jelenik meg Részben egyezik . A Bash kis- és nagybetűket érzékeny. Ehhez a második ha a szkript hamis értéket ad vissza, ha az internetet részleges karakterláncként használja, amely nem egyenlő betű szerinti összehasonlítással.

#!/bin/bash

strval='Microsoft Internet Explorer'

ha [[ $ strval==*Internet* ]];
azután
kidobta 'Részben egyezik'
más
kidobta 'Nem egyezik'
lenni

ha [[ $ strval==*Internet* ]];
azután
kidobta 'Részben egyezik'
más
kidobta 'Nem egyezik'
lenni

Kimenet:

4. példa: Hasonlítsa össze a karakterláncot a felhasználó által megadott értékkel

Néha összehasonlítanunk kell a felhasználó által felvett karakterlánc értékét egy adott karakterlánccal programozás céljából. A következő példában egy karakterlánc -adatot veszünk be a felhasználótól bemenetként, és összehasonlítjuk az adatok egyenlőtlenségét egy fix értékkel. Ha a feltétel igaz, akkor kinyomtatja nincs találat , különben kinyomtatja Rekord található .

#!/bin/bash

kidobta 'Adja meg nevét'
olvasbemenet

ha [ $ bemenet !=Fahmida ];
azután
kidobta 'Nincs találat'
más
kidobta 'Rekord található'
lenni

Kimenet:

A lecke videója itt található:

A bash -ban lévő karakterlánc -összehasonlítási feladat könnyebb lesz az Ön számára, miután a fenti példákat világos megértéssel befejezte.