Hvordan sammenligne strenger i bash

Hvordan sammenligne strenger i bash

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

Eksempel-1: Strengsammenligning ved bruk av “==” -operatører

Det er ingen innebygd sammenligningsfunksjon for å sjekke likheten mellom to strengverdier i bash som annet 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 skriptet. Verdien av strval1 sammenlignes med en strengverdi for å sjekke likheten i sekundet hvis uttalelse.

#!/bin/bash
strval1 = "ubuntu"
strval2 = "Windows"
#Check Likestilling to strengvariabler
hvis [$ strval1 == $ strval2]; deretter
ekko "strenger er like"
ellers
ekko "strenger er ikke like"
fi
#Check Likestilling av en variabel med en strengverdi
hvis [$ strval1 == "ubuntu"]; deretter
ekko "Linux operativsystem"
ellers
ekko "Windows -operativsystem"
fi

Produksjon:

Første sammenligning er ikke lik, og den andre sammenligningen er lik.

Eksempel-2: Strengsammenligning ved bruk av "!= ”Operatør

Ulikheten til to strengvariabler blir sjekket i følgende eksempel. Her er to verdier ikke like. Så hvis tilstanden vil være sann og “Windows -operativsystem ” vil trykke.

#!/bin/bash
strval1 = "ubuntu"
strval2 = "Windows"
#Sjekk ulikhet av en variabel med en strengverdi
Hvis [$ strval2 != "Ubuntu"]; deretter
ekko "Windows -operativsystem"
ellers
ekko "Linux operativsystem"
fi

Produksjon:

Eksempel-3: Delvis streng Sammenligning

Du kan sammenligne delvis verdi ved å bruke Wild Card Character i Bash -skriptet. I følgende skript, “*” brukes som jokertegn for delvis matching. Strengvariabelen, strval Inneholder ordet “Internett”. Så den første hvis av skriptet vil returnere sann og skrive ut “Delvis samsvarer”. Bash er saks følsom. For dette, den andre hvis av skriptet vil returnere usant for å bruke "Internett" som delvis streng som ikke er lik med bokstavmessig sammenligning.

#!/bin/bash
strval = "Microsoft Internet Explorer"
if [[$ strVal == * Internett *]];
deretter
ekko "delvis match"
ellers
ekko "ingen kamp"
fi
if [[$ strVal == * Internett *]];
deretter
ekko "delvis match"
ellers
ekko "ingen kamp"
fi

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 eksempel vil en strengdata bli hentet fra brukeren som input og sammenlignet ulikheten i dataene med en fast verdi. Hvis tilstanden er sann, vil den skrive ut “Ingen post funnet ”, Ellers vil det skrive ut “Rekord funnet”.

#!/bin/bash
ekko "Skriv inn navnet ditt"
Les innspill
Hvis [$ input != "Fahmida"];
deretter
ekko "Ingen plate funnet"
ellers
ekko "Record Found"
fi

Produksjon:

Video av denne leksjonen er her:

Strengsammenligningsoppgave i bash vil være enklere for deg etter å ha fullført eksemplene ovenfor med klar forståelse.