Kuinka vertailla merkkijonoja Bashissa

How Compare Strings Bash

Eri ohjelmointitarkoituksia varten meidän on verrattava kahden merkkijonon arvoa. Sisäänrakennettuja toimintoja käytetään monilla ohjelmointikielillä kahden merkkijonon tasaisuuden testaamiseen. Voit tarkistaa kahden merkkijonon yhtäläisyyden ja epätasa -arvon bashissa käyttämällä jos lausunto. == käytetään tasa -arvon tarkistamiseen ja ! = käytetään merkkijonojen epätasaisuuden tarkistamiseen. Voit osittain verrata kahden merkkijonon arvoja myös bash -muodossa. Kuinka voit verrata merkkijonoarvoja bashissa, esitetään tämän opetusohjelman eri esimerkkien avulla.

Esimerkki 1: Merkkijonojen vertailu == -operaattoreilla

Ei ole sisäänrakennettua vertailutoimintoa, jolla voidaan tarkistaa kahden merkkijonon yhtäläisyys bashissa kuten muillakin vakio-ohjelmointikielellä. Seuraavassa komentosarjassa kaksi merkkijonomuuttujaa, strval1 ja strval2 julistetaan. Näiden kahden merkkijonomuuttujan tasapuolisuus testataan käyttämällä ensimmäistä jos käsikirjoituksen lausunto. Arvo strval1 verrataan merkkijonoarvoon, jotta voidaan tarkistaa toisen yhtäläisyys jos lausunto.



#!/bin/bash

strval1='Ubuntu'
strval2='Windows'

#Tarkista kahden merkkijonomuuttujan tasa -arvo

jos [ $ strval1==$ strval2 ];sitten
heitti pois 'Jouset ovat yhtä suuret'
muu
heitti pois 'Jouset eivät ole samanlaisia'
olla

#Tarkista muuttujan yhtäläisyys merkkijonolla

jos [ $ strval1=='Ubuntu' ];sitten
heitti pois 'Linux -käyttöjärjestelmä'
muu
heitti pois 'Windows -käyttöjärjestelmä'
olla

Lähtö:



Ensimmäinen vertailu ei ole sama ja toinen vertailu on sama.



Esimerkki 2: Merkkijonojen vertailu käyttämällä! = -Operaattoria

Kahden merkkijonomuuttujan epätasa -arvo tarkistetaan seuraavassa esimerkissä. Tässä kaksi arvoa eivät ole yhtä suuret. Joten, jos ehto on totta ja Windows -käyttöjärjestelmä tulostaa.

#!/bin/bash

strval1='Ubuntu'
strval2='Windows'

#Tarkista muuttujan eriarvoisuus merkkijonolla

jos [ $ strval2 !='Ubuntu' ];sitten
heitti pois 'Windows -käyttöjärjestelmä'
muu
heitti pois 'Linux -käyttöjärjestelmä'
olla

Lähtö:



Esimerkki 3: Osittaisen merkkijonon vertailu

Voit vertailla osittaista arvoa käyttämällä jokerimerkkiä bash -skriptissä. Seuraavassa skriptissä * käytetään jokerimerkiksi osittaisessa haussa. Merkkijonomuuttuja, strval sisältää sanan Internet. Joten, ensimmäinen jos komentosarjan palauttaa tosi ja tulostaa Osittain osuma . Bash on isot ja pienet kirjaimet. Tätä varten toinen jos komentosarjan palauttaa epätosi, koska se on käyttänyt Internetiä osittaisena merkkijonona, joka ei ole kirjaimellisesti vertailtuna sama.

#!/bin/bash

strval='Microsoft Internet Explorer'

jos [[ $ strval==*Internet* ]];
sitten
heitti pois 'Osittain osuva'
muu
heitti pois 'Ei osumia'
olla

jos [[ $ strval==*Internet* ]];
sitten
heitti pois 'Osittain osuva'
muu
heitti pois 'Ei osumia'
olla

Lähtö:

Esimerkki 4: Vertaa merkkijonoa käyttäjän syöttämään arvoon

Joskus meidän on verrattava käyttäjän ottamaa merkkijonoarvoa tiettyyn merkkijonoarvoon ohjelmointia varten. Seuraavassa esimerkissä merkkijonotiedot otetaan käyttäjältä syötteeksi ja verrataan tietojen eriarvoisuutta kiinteään arvoon. Jos ehto on totta, se tulostaa Tietuetta ei löydy , muuten se tulostaa Tietue löytyi .

#!/bin/bash

heitti pois 'Kirjoita nimesi'
lukeatulo

jos [ $ panos !='Fahmida' ];
sitten
heitti pois 'Ei tietuetta'
muu
heitti pois 'Ennätys löytyi'
olla

Lähtö:

Video tästä oppitunnista on täällä:

Merkkijonojen vertailutehtävä bashissa on helpompi, kun olet suorittanut yllä olevat esimerkit selkeästi.