För olika programmeringsändamål måste vi jämföra värdet på två strängar. Inbyggda funktioner används i många programmeringsspråk för att testa likheten mellan två strängar. Du kan kontrollera jämlikhet och ojämlikhet mellan två strängar i bash genom att använda om påstående. == används för att kontrollera jämlikhet och ! = används för att kontrollera strängarnas ojämlikhet. Du kan delvis jämföra värdena för två strängar också i bash. Hur du kan jämföra strängvärdena i bash visas med hjälp av olika exempel i den här självstudien.
Exempel 1: Strängjämförelse med == operatorer
Det finns ingen inbyggd jämförelsesfunktion för att kontrollera likhet mellan två strängvärden i bash som andra vanliga programmeringsspråk. I följande skript, två strängvariabler, strval1 och strval2 deklareras. Kapitalet i dessa två strängvariabler testas med den första om uttalande av manuset. Värdet av strval1 jämförs med ett strängvärde för att kontrollera likheten i den andra om påstående.
#!/bin/bash
strval1='Ubuntu'
strval2='Windows'
#Kontrollera likvärdighet två strängvariabler
om [ $ strval1==$ strval2 ];sedan
kastade ut 'Strängar är lika'
annan
kastade ut 'Strängar är inte lika'
vara
#Kontrollera likvärdigheten för en variabel med ett strängvärde
om [ $ strval1=='Ubuntu' ];sedan
kastade ut 'Linux -operativsystem'
annan
kastade ut 'Windows -operativsystem'
vara
Produktion:
Första jämförelsen är inte lika och den andra jämförelsen är lika.
Exempel 2: Strängjämförelse med! = Operator
Ojämlikheten mellan två strängvariabler kontrolleras i följande exempel. Här är två värden inte lika. Så, om villkoret kommer att vara sant och Windows operativsystem kommer att skriva ut.
#!/bin/bashstrval1='Ubuntu'
strval2='Windows'
#Kontrollera ojämlikheten i en variabel med ett strängvärde
om [ $ strval2 !='Ubuntu' ];sedan
kastade ut 'Windows -operativsystem'
annan
kastade ut 'Linux -operativsystem'
vara
Produktion:
Exempel-3: Delvis strängjämförelse
Du kan jämföra delvärde genom att använda jokertecken i bash -skript. I följande skript, * används som jokertecken för partiell matchning. Strängvariabeln, strval innehåller ordet Internet. Så det första om av skriptet kommer att returnera true och skrivas ut Matcha delvis . Bash är skiftlägeskänsligt. För detta, den andra om av skriptet kommer att returnera falskt för att använda internet som partiell sträng som inte är lika med bokstavsmässig jämförelse.
#!/bin/bashstrval='Microsoft Internet Explorer'
om [[ $ strval==*Internet* ]];
sedan
kastade ut 'Delvis matchning'
annan
kastade ut 'Ingen match'
vara
om [[ $ strval==*Internet* ]];
sedan
kastade ut 'Delvis matchning'
annan
kastade ut 'Ingen match'
vara
Produktion:
Exempel-4: Jämför sträng med användarinmatningsvärde
Ibland måste vi jämföra strängvärdet som användaren tar med ett specifikt strängvärde för programmeringsändamål. I följande exempel kommer en strängdata att tas från användaren som inmatning och jämföras ojämlikheten i data med ett fast värde. Om villkoret är sant kommer det att skrivas ut Inget rekord funnet annars skrivs den ut Rekord hittat .
#!/bin/bashkastade ut 'Ange ditt namn'
läsainmatning
om [ $ input !='Fahmida' ];
sedan
kastade ut 'Inget rekord funnet'
annan
kastade ut 'Rekord hittat'
vara
Produktion:
Video av lektionen finns här:
Strängjämförelseuppgift i bash blir lättare för dig efter att ha slutfört ovanstående exempel med tydlig förståelse.