Kuidas võrrelda stringe Bashis

How Compare Strings Bash

Erinevatel programmeerimise eesmärkidel peame võrdlema kahe stringi väärtust. Sisseehitatud funktsioone kasutatakse paljudes programmeerimiskeeltes, et testida kahe stringi võrdsust. Saate kontrollida kahe stringi võrdsust ja ebavõrdsust bash -i abil kui avaldus. == kasutatakse võrdsuse kontrollimiseks ja ! = kasutatakse stringide ebavõrdsuse kontrollimiseks. Kahe stringi väärtusi saate osaliselt võrrelda ka bash -vormingus. Seda, kuidas bash -i stringi väärtusi võrrelda, näidatakse selle õpetuse erinevate näidete abil.

Näide-1: stringide võrdlus, kasutades == operaatoreid

Puudub sisseehitatud võrdlusfunktsioon, et kontrollida kahe stringiväärtuse võrdsust bash-is, nagu muu standardne programmeerimiskeel. Järgmises skriptis on kaks stringimuutujat, strval1 ja strval2 on deklareeritud. Nende kahe stringimuutuja võrdsust testitakse esimese abil kui stsenaariumi avaldus. Väärtus strval1 võrreldakse stringi väärtusega, et kontrollida teises võrdsust kui avaldus.



#!/bin/bash

strval1='Ubuntu'
strval2='Windows'

#Kontrollige kahe stringi muutuja võrdsust

kui [ $ strval1==$ strval2 ];siis
viskas välja 'Stringid on võrdsed'
muidu
viskas välja 'Stringid pole võrdsed'
olla

#Kontrollige stringiväärtusega muutuja võrdsust

kui [ $ strval1=='Ubuntu' ];siis
viskas välja 'Linuxi operatsioonisüsteem'
muidu
viskas välja 'Windowsi operatsioonisüsteem'
olla

Väljund:



Esimene võrdlus pole võrdne ja teine ​​võrdne.



Näide-2: stringide võrdlus, kasutades operaatorit! =

Kahe stringimuutuja ebavõrdsust kontrollitakse järgmises näites. Siin ei ole kaks väärtust võrdsed. Niisiis, kui tingimus vastab tõele ja Windowsi operatsioonisüsteem hakkab trükkima.

#!/bin/bash

strval1='Ubuntu'
strval2='Windows'

#Kontrollige stringiväärtusega muutuja ebavõrdsust

kui [ $ strval2 !='Ubuntu' ];siis
viskas välja 'Windowsi operatsioonisüsteem'
muidu
viskas välja 'Linuxi operatsioonisüsteem'
olla

Väljund:



Näide-3: Osalise stringide võrdlus

Osalist väärtust saate võrrelda, kasutades bash -skriptis metamärki. Järgmises skriptis * kasutatakse osalise vastendamise metamärgina. Stringi muutuja, strval sisaldab sõna Internet. Niisiis, esimene kui skripti tagastatakse ja trükitakse Osaliselt sobiv . Bash on tõstutundlik. Selleks teine kui skripti tagastab väärtuse vale, kuna kasutas internetti osalise stringina, mis pole tähemärgilise võrdluse korral võrdne.

#!/bin/bash

strval='Microsoft Internet Explorer'

kui [[ $ strval==*Internet* ]];
siis
viskas välja 'Osaliselt sobib'
muidu
viskas välja 'Ei sobi'
olla

kui [[ $ strval==*Internet* ]];
siis
viskas välja 'Osaliselt sobib'
muidu
viskas välja 'Ei sobi'
olla

Väljund:

Näide-4: võrrelge stringi kasutaja sisendväärtusega

Mõnikord peame programmeerimise eesmärgil võrdlema kasutaja võetud stringi väärtust konkreetse stringiväärtusega. Järgmises näites võetakse stringina andmed kasutajalt sisendina ja võrreldakse andmete ebavõrdsust fikseeritud väärtusega. Kui tingimus on tõene, prinditakse see välja Rekordit ei leitud , muidu prinditakse Rekord leitud .

#!/bin/bash

viskas välja 'Sisestage oma nimi'
loesisend

kui [ $ sisend !='Fahmida' ];
siis
viskas välja 'Rekordit ei leitud'
muidu
viskas välja 'Rekord leitud'
olla

Väljund:

Selle õppetunni video on siin:

Stringide võrdlemise ülesanne bashis on pärast ülaltoodud näidete selge arusaamise täitmist teile lihtsam.