Kaip palyginti stygas „Bash“

How Compare Strings Bash



Skirtingiems programavimo tikslams turime palyginti dviejų eilučių vertę. Integruotos funkcijos naudojamos daugelyje programavimo kalbų, kad būtų galima patikrinti dviejų eilučių lygybę. Galite patikrinti dviejų stygų lygybę ir nelygybę „bash“ naudodami jei pareiškimas. == naudojamas lygybei patikrinti ir ! = naudojamas patikrinti eilučių nelygybę. Taip pat galite iš dalies palyginti dviejų eilučių reikšmes ir bash. Kaip galite palyginti eilučių reikšmes bash, parodyta naudojant įvairius pavyzdžius šioje pamokoje.

1 pavyzdys: eilučių palyginimas naudojant == operatorius

Nėra integruotos palyginimo funkcijos, leidžiančios patikrinti dviejų eilių reikšmių lygybę bash, kaip ir kita standartinė programavimo kalba. Šiame scenarijuje du eilutės kintamieji, strval1 ir strval2 yra deklaruojami. Šių dviejų eilutės kintamųjų teisingumas tikrinamas naudojant pirmąjį jei scenarijaus pareiškimas. Vertė strval1 yra lyginamas su eilutės reikšme, kad būtų galima patikrinti lygybę antroje jei pareiškimas.







#!/bin/bash

strval1=„Ubuntu“
strval2=„Windows“

#Patikrinkite lygybės du eilutės kintamuosius

jei [ $ strval1==$ strval2 ];tada
išmetė „Stygos lygios“
Kitas
išmetė „Stygos nėra lygios“
būti

#Patikrinkite kintamojo lygybę su eilutės reikšme

jei [ $ strval1==„Ubuntu“ ];tada
išmetė „Linux“ operacinė sistema
Kitas
išmetė „Windows“ operacinė sistema
būti

Išėjimas:



Pirmasis palyginimas nėra lygus, o antrasis - lygus.







2 pavyzdys: eilučių palyginimas naudojant! = Operatorių

Dviejų eilučių kintamųjų nelygybė tikrinama šiame pavyzdyje. Čia dvi vertės nėra lygios. Taigi, jei sąlyga bus teisinga ir „Windows“ operacinė sistema atspausdins.

#!/bin/bash

strval1=„Ubuntu“
strval2=„Windows“

#Patikrinkite kintamojo nelygybę su eilutės reikšme

jei [ $ strval2 !=„Ubuntu“ ];tada
išmetė „Windows“ operacinė sistema
Kitas
išmetė „Linux“ operacinė sistema
būti

Išėjimas:



3 pavyzdys: dalinis eilučių palyginimas

Dalinę vertę galite palyginti naudodami „Bash“ scenarijuje esantį „wild card“ simbolį. Toliau pateiktame scenarijuje * yra naudojamas kaip pakaitos simbolis daliniam atitikimui. Eilutės kintamasis, strvalas yra žodis Internetas. Taigi, pirmasis jei scenarijaus bus grąžinta tiesa ir išspausdinta Iš dalies sutampa . „Bash“ skiria didžiąsias ir mažąsias raides. Tam antrasis jei iš scenarijaus grąžins klaidingą, kad naudojote internetą kaip dalinę eilutę, kuri lygi raidės lygiu.

#!/bin/bash

strvalas=„Microsoft Internet Explorer“

jei [[ $ strval==*internetas* ]];
tada
išmetė „Iš dalies sutapti“
Kitas
išmetė 'Nesutampa'
būti

jei [[ $ strval==*internetas* ]];
tada
išmetė „Iš dalies sutapti“
Kitas
išmetė 'Nesutampa'
būti

Išėjimas:

4 pavyzdys: palyginkite eilutę su vartotojo įvesties verte

Kartais programavimo tikslais mums reikia palyginti vartotojo paimtą eilutės vertę su konkrečia eilutės reikšme. Šiame pavyzdyje eilutės duomenys bus paimti iš vartotojo kaip įvesties ir palyginami duomenų nelygybė su fiksuota verte. Jei sąlyga yra teisinga, ji bus išspausdinta Įrašų nerasta , kitaip jis bus atspausdintas Įrašas rastas .

#!/bin/bash

išmetė „Įveskite savo vardą“
skaitytiįvesties

jei [ $ įvestis !=„Fahmida“ ];
tada
išmetė 'Įrašų nerasta'
Kitas
išmetė „Įrašas rastas“
būti

Išėjimas:

Šios pamokos vaizdo įrašas yra čia:

Styginių palyginimo užduotis „bash“ jums bus lengvesnė, kai aiškiai suprasite aukščiau pateiktus pavyzdžius.