Kako usporediti nizove u Bashu

How Compare Strings Bash



Za različite programske svrhe moramo usporediti vrijednost dva niza. Ugrađene funkcije koriste se u mnogim programskim jezicima za provjeru jednakosti dva niza. Jednakost i nejednakost dva niza u bashu možete provjeriti pomoću ako izjava. == koristi se za provjeru jednakosti i ! = koristi se za provjeru nejednakosti nizova. Djelomično možete usporediti vrijednosti dva niza također u bashu. Kako možete usporediti vrijednosti niza u bash -u prikazano je pomoću različitih primjera u ovom vodiču.

Primjer-1: Usporedba nizova pomoću operatora ==

Ne postoji ugrađena funkcija usporedbe za provjeru jednakosti dviju vrijednosti niza u bash-u poput drugog standardnog programskog jezika. U sljedećoj skripti dvije varijable niza, strval1 i strval2 se deklariraju. Pravednost ove dvije varijable niza provjerava se pomoću prve ako izjava o scenariju. Vrijednost strval1 uspoređuje se s vrijednošću niza radi provjere jednakosti u drugom ako izjava.







#!/bin/bash

strval1='Ubuntu'
strval2='Windows'

#Provjerite jednakost dvije varijable niza

ako [ $ strval1==$ strval2 ];zatim
izbaciti 'Žice su jednake'
drugo
izbaciti 'Žice nisu jednake'
biti

#Provjerite jednakost varijable s vrijednošću niza

ako [ $ strval1=='Ubuntu' ];zatim
izbaciti 'Linux operativni sustav'
drugo
izbaciti 'Windows operativni sustav'
biti

Izlaz:



Prva usporedba nije jednaka, a druga je jednaka.







Primjer-2: Usporedba nizova pomoću operatora! =

Nejednakost dviju varijabli niza provjerava se u sljedećem primjeru. Ovdje dvije vrijednosti nisu jednake. Dakle, ako će uvjet biti istinit i Windows operativni sustav ispisat će.

#!/bin/bash

strval1='Ubuntu'
strval2='Windows'

#Provjerite nejednakost varijable s vrijednošću niza

ako [ $ strval2 !='Ubuntu' ];zatim
izbaciti 'Windows operativni sustav'
drugo
izbaciti 'Linux operativni sustav'
biti

Izlaz:



Primjer-3: Djelomična usporedba nizova

Djelomičnu vrijednost možete usporediti pomoću zamjenskog znaka u bash skripti. U sljedećoj skripti, * koristi se kao zamjenski znak za djelomično podudaranje. Varijabla niza, strval sadrži riječ Internet. Dakle, prvi ako skripte će vratiti true i ispisati Djelomično podudaranje . Bash razlikuje velika i mala slova. Za ovo, drugo ako skripte vratit će se false za korištenje interneta kao djelomičnog niza koji nije jednak slovnom usporedbom.

#!/bin/bash

strval='Microsoft Internet Explorer'

ako [[ $ strval==*Internet* ]];
zatim
izbaciti 'Djelomično podudaranje'
drugo
izbaciti 'Nema podudaranja'
biti

ako [[ $ strval==*Internet* ]];
zatim
izbaciti 'Djelomično podudaranje'
drugo
izbaciti 'Nema podudaranja'
biti

Izlaz:

Primjer 4: Usporedite niz s korisničkom ulaznom vrijednošću

Ponekad moramo usporediti vrijednost niza koju je uzeo korisnik s određenom vrijednošću niza za potrebe programiranja. U sljedećem primjeru, niz podataka će se uzeti od korisnika kao ulaz i usporediti nejednakost podataka s fiksnom vrijednošću. Ako je uvjet istinit, ispisat će se nema pronađenih zapisa , inače će se ispisati Zapis je pronađen .

#!/bin/bash

izbaciti 'Unesite svoje ime'
čitatiulazni

ako [ $ ulaz !='Fahmida' ];
zatim
izbaciti 'Nema pronađenih zapisa'
drugo
izbaciti 'Zapis je pronađen'
biti

Izlaz:

Video ove lekcije je ovdje:

Zadatak usporedbe nizova u bashu bit će vam lakši nakon što gornje primjere dovršite s jasnim razumijevanjem.