Hvordan sammenligne strenger i Bash

How Compare Strings Bash



For forskjellige programmeringsformål må vi sammenligne verdien av to strenger. Innebygde funksjoner brukes i mange programmeringsspråk for å teste likheten mellom to strenger. Du kan kontrollere likheten og ulikheten til to strenger i bash ved å bruke hvis uttalelse. == brukes til å kontrollere likhet og ! = brukes til å kontrollere ulikheten i strengene. Du kan delvis sammenligne verdiene til to strenger også i bash. Hvordan du kan sammenligne strengverdiene i bash er vist ved hjelp av forskjellige eksempler i denne opplæringen.

Eksempel-1: Stringsammenligning med == operatorer

Det er ingen innebygd sammenligningsfunksjon for å kontrollere likheten mellom to strengverdier i bash som andre standard programmeringsspråk. I det følgende skriptet to strengvariabler, strval1 og strval2 er erklært. Egenkapitalen til disse to strengvariablene testes ved hjelp av den første hvis uttalelse av manuset. Verdien av strval1 blir sammenlignet med en strengverdi for å kontrollere likheten i den andre hvis uttalelse.







#!/bin/bash

strval1='Ubuntu'
strval2='Windows'

#Sjekk likhet to strengvariabler

hvis [ $ strval1==$ strval2 ];deretter
kastet ut 'Strenger er like'
ellers
kastet ut 'Strenger er ikke like'
være

#Sjekk likheten til en variabel med en strengverdi

hvis [ $ strval1=='Ubuntu' ];deretter
kastet ut 'Linux -operativsystem'
ellers
kastet ut 'Windows -operativsystem'
være

Produksjon:



Første sammenligning er ikke lik og andre sammenligning er lik.







Eksempel-2: Stringsammenligning ved bruk av! = Operator

Ulikheten mellom to strengvariabler kontrolleres i følgende eksempel. Her er ikke to verdier like. Så, hvis tilstanden vil være sann og Windows operativsystem vil skrive ut.

#!/bin/bash

strval1='Ubuntu'
strval2='Windows'

#Sjekk ulikheten til en variabel med en strengverdi

hvis [ $ strval2 !='Ubuntu' ];deretter
kastet ut 'Windows -operativsystem'
ellers
kastet ut 'Linux -operativsystem'
være

Produksjon:



Eksempel 3: Delvis strengsammenligning

Du kan sammenligne delverdi ved å bruke jokertegn i bash -skript. I følgende script, * brukes som jokertegn for delvis matching. Strengvariabelen, strval inneholder ordet Internett. Så den første hvis av skriptet vil returnere true og skrives ut Delvis match . Bash er store og små bokstaver. For dette, den andre hvis av skriptet vil returnere false for bruk av internett som delvis streng som ikke er lik ved bokstavvis sammenligning.

#!/bin/bash

strval='Microsoft Internet Explorer'

hvis [[ $ strval==*Internett* ]];
deretter
kastet ut 'Delvis match'
ellers
kastet ut 'Ingen treff'
være

hvis [[ $ strval==*Internett* ]];
deretter
kastet ut 'Delvis match'
ellers
kastet ut 'Ingen treff'
være

Produksjon:

Eksempel-4: Sammenlign streng med brukerinngangsverdi

Noen ganger må vi sammenligne strengverdien tatt av brukeren med spesifikk strengverdi for programmeringsformål. I det følgende eksemplet vil en strengdata bli tatt fra brukeren som inndata og sammenligne ulikheten til dataene med en fast verdi. Hvis betingelsen er sann, skrives den ut Ingen post funnet ellers skrives den ut Rekord funnet .

#!/bin/bash

kastet ut 'Skriv inn navnet ditt'
leseinput

hvis [ $ innspill !='Fahmida' ];
deretter
kastet ut 'Ingen registrering funnet'
ellers
kastet ut 'Rekord funnet'
være

Produksjon:

Video av denne leksjonen er her:

String sammenligning oppgave i bash vil være lettere for deg etter å ha fullført eksemplene ovenfor med klar forståelse.