Til forskellige programmeringsformål skal vi sammenligne værdien af to strenge. Indbyggede funktioner bruges i mange programmeringssprog til at teste lighed mellem to strenge. Du kan kontrollere lighed og ulighed mellem to strenge i bash ved hjælp af hvis udmelding. == bruges til at kontrollere ligestilling og ! = bruges til at kontrollere strengenes ulighed. Du kan delvist sammenligne værdierne for to strenge også i bash. Hvordan du kan sammenligne strengværdierne i bash vises ved hjælp af forskellige eksempler i denne vejledning.
Eksempel-1: Stringsammenligning ved hjælp af == operatorer
Der er ingen indbygget sammenligningsfunktion til at kontrollere lighed mellem to strengværdier i bash som et andet standard programmeringssprog. I det følgende script to strengvariabler, strval1 og strval2 er erklæret. Egenkapitalen i disse to strengvariabler testes ved hjælp af den første hvis redegørelse for scriptet. Værdien af strval1 sammenlignes med en strengværdi for at kontrollere ligheden i den anden hvis udmelding.
#!/bin/bash
strval1='Ubuntu'
strval2='Windows'
#Kontroller lighed med to strengvariabler
hvis [ $strval1==$ strval2 ];derefter
smed ud 'Strenge er lige'
andet
smed ud 'Strenge er ikke lige'
være
#Kontroller lighed for en variabel med en strengværdi
hvis [ $strval1=='Ubuntu' ];derefter
smed ud 'Linux -operativsystem'
andet
smed ud 'Windows -operativsystem'
være
Produktion:
Første sammenligning er ikke lig, og anden sammenligning er lig.
Eksempel-2: Stringsammenligning ved hjælp af! = Operator
Uligheden mellem to strengvariabler kontrolleres i det følgende eksempel. Her er to værdier ikke ens. Så hvis betingelsen vil være sand og Windows -operativsystem vil udskrive.
#!/bin/bashstrval1='Ubuntu'
strval2='Windows'
#Kontroller uligheden i en variabel med en strengværdi
hvis [ $ strval2 !='Ubuntu' ];derefter
smed ud 'Windows -operativsystem'
andet
smed ud 'Linux -operativsystem'
være
Produktion:
Eksempel-3: Delvis strengsammenligning
Du kan sammenligne delværdi ved at bruge jokertegn i bash -script. I det følgende script, * bruges som jokertegn til delvis matchning. Strengvariablen, strval indeholder ordet Internet. Så den første hvis af scriptet returnerer true og udskrives Delvist match . Bash er store og små bogstaver. For dette, den anden hvis af scriptet returnerer falsk for brug af internet som delvis streng, der ikke er lig med bogstavelig sammenligning.
#!/bin/bashstrval='Microsoft Internet Explorer'
hvis [[ $ strval==*Internet* ]];
derefter
smed ud 'Delvist match'
andet
smed ud 'Intet match'
være
hvis [[ $ strval==*Internet* ]];
derefter
smed ud 'Delvist match'
andet
smed ud 'Intet match'
være
Produktion:
Eksempel-4: Sammenlign streng med brugerinputværdi
Nogle gange er vi nødt til at sammenligne den strengværdi, som brugeren tager med en specifik strengværdi til programmeringsformål. I det følgende eksempel vil en strengdata blive taget fra brugeren som input og sammenligne uligheden af dataene med en fast værdi. Hvis betingelsen er sand, udskrives den Ingen registrering fundet , ellers udskrives den Rekord fundet .
#!/bin/bashsmed ud 'Indtast dit navn'
Læsinput
hvis [ $ input !='Fahmida' ];
derefter
smed ud 'Ingen registrering fundet'
andet
smed ud 'Rekord fundet'
være
Produktion:
Video af denne lektion er her:
Strenge sammenligning opgave i bash vil være lettere for dig efter at have gennemført ovenstående eksempler med klar forståelse.