Hvordan sammenligner jeg tall i bash?

Hvordan sammenligner jeg tall i bash?
Du har lært om de mange sammenligningsoperasjonene som kan brukes til kontrastvariabler i bash. Men noen ganger kan du konfrontere en rekke situasjoner der du må utvikle skript for å utføre spesifikke oppgaver og utføre skriptet flere ganger basert på spesifikke heltallverdier i bash. I disse situasjonene kan vi bruke bashoperatørene til å gjøre sammenligninger av heltallstall.

Ulike måter å sammenligne heltallvariabler i bash -skripting:

For sammenligning av heltallstall vil vi bruke to av de viktige operatørene i bash for å få sammenligningene som er firkantede og doble seler.

Vei 01: Enkelt firkantede seler

"[]" "Firkantede seler blir også referert til som enkelt firkantede seler for å teste kommandoen i bash -skripting. La oss ta med noen eksempler som demonstrerer ideen om bash -skripting på Linux, slik at vi raskt kan implementere de forskjellige operatørene av bash. Her er noen eksempler på å bruke forskjellige operatører i enkeltfagede seler.

Eksempel 01: Bruk av “-EQ” og “-NE” -operatører

La oss utføre "-eq" -operatøren, som avgjør om flere variabler er likeverdige i bash-skripting som den første demonstrasjonen av en sammenligningsoperatør. For å begynne å sette eksemplet i livet, må vi først opprette en bash -skriptfil ved å bruke nøkkelordet "Touch" i filnavnet og legge til "SH" -utvidelsen. Hele kommandoen for filoppretting er som følger:

linux@linux-virtualbox: ~ $ berøring.sh

Når den nevnte kommandoen legges inn, er en fil som heter “Sammenlign.SH ”vil bli produsert. Slik at vi kan sette koden ut i verk, vil vi gå inn i “Nano” -redaktøren. For å oppnå dette, vil vi legge til “Sammenlign.SH ”-kommando etter“ Nano ”nøkkelordet som vist nedenfor:

linux@linux-virtualbox: ~ $ nano sammenligne.sh

Nano -redaktøren lanseres etter å ha gått inn er presset. Slik at vi kan sammenligne de to heltallnumrene, må vi skrive den nødvendige koden i denne delen.

1: lik "-EQ" -operatøren

Vi har brukt to variabler i denne koden kalt “Variable1” og “Variable2”, og vi har brukt henholdsvis "Les" -tnøkkelordet som vil få verdiene til disse variablene fra brukeren på kjøretid. "IF" -uttalelsen ble deretter brukt til å avgjøre om heltallstallene er like.

Ekko "Angi en inndata heltallsvariabel1:"
Les variabel1
Ekko "Angi en inndata heltallsvariabel2:"
Les variabel2
hvis [$ variabel1 -eq $ variabel2];
deretter
ekko "Begge inndata -heltallvariablene er like ..."
ellers
ekko "Begge inndata -heltallvariablene er ikke like ..."
fi

For å lukke Nano -redaktøren etter å ha avsluttet å skrive programmet, skriver du “Ctrl + x.”Deretter returnerte vi til den viktigste Linux -terminalen en gang til. Skriv “Bash” og filnavnet for å kjøre koden.

linux@linux-virtualbox: ~ $ bash sammenlign.sh

Resultatet av å kjøre koden vist ovenfor sees her:

Skriv inn en inndata heltallsvariabel1:
100
Skriv inn en inndata heltall variabel2:
100
Begge inngangs heltallvariablene er like ..

2: Ikke lik "-ne" -operatøren

Nå vil vi bruke "-ne" sammenligningsoperatøren som betyr "ikke lik". Gjennom denne operatøren vil vi sjekke at “Variable1” ikke er lik “Variable2” i bash -skriptet. For det har vi gjort noen modifikasjoner i samme fil som er "Sammenlign. sh ”. I den modifiserte koden har vi nettopp endret verdiene og operatøren “-eq” med “-ne” som vist nedenfor:

Ekko "Angi en inndata heltallsvariabel1:"
Les variabel1
Ekko "Angi en inndata heltallsvariabel2:"
Les variabel2
hvis [$ variabel1 -ne $ variabel2];
deretter
ekko "Begge inndata -heltallvariablene er ikke like ..."
ellers
ekko "Begge inndata -heltallvariablene er like ..."
fi

Her er ønsket utgang vist på bildet nedenfor:

Skriv inn en inndata heltallsvariabel1:
50
Skriv inn en inndata heltall variabel2:
100
Begge inngangs heltallvariablene er ikke like ..

Eksempel 02: Bruk av “-GT” og “-LT” -operatører

Dette er en annen illustrasjon av hvordan du bruker sammenligningsoperatørene “-GT” og “-LT” i koden. Vi vil evaluere om "variabel1" er større enn eller mindre enn "variabel2" i tilfellet.

1: Større enn "-GT" -operatøren

Først bestemmer vi om variabel 1 overstiger eller ikke overstiger variabel 2. Kodebiten som demonstrerer hvordan "-GT" -operatøren blir implementert vises nedenfor.

Ekko "Angi en inndata heltallsvariabel1:"
Les variabel1
Ekko "Angi en inndata heltallsvariabel2:"
Les variabel2
hvis [$ variabel1 -GT $ variabel2];
deretter
ekko "Variabelen1 er større enn variabel2 ..."
ellers
ekko "Variabelen1 er ikke større enn variabel2 ..."
fi

Da vi utførte skriptet, viste resultatet at "variabel1" var større enn "variabel2".

Skriv inn en inndata heltallsvariabel1:
98
Skriv inn en inndata heltall variabel2:
96
Variabelen1 er større enn variabel2 ..

2: Mindre enn "-lt" -operatøren

Nå, ved å bruke "-lt" -operatøren i bash-skripting, vil vi avgjøre om "variabel1" er mindre enn "variabel2" eller ikke.

Ekko "Angi en inndata heltallsvariabel1:"
Les variabel1
Ekko "Angi en inndata heltallsvariabel2:"
Les variabel2
hvis [$ variabel1 -lt $ variabel2];
deretter
ekko "Variabelen1 er mindre enn variabel2 ..."
ellers
ekko "Variabelen1 er ikke mindre enn variabel2 ..."
fi

Tenk på resultatene fra eksemplet gitt ovenfor:

Skriv inn en inndata heltallsvariabel1:
96
Skriv inn en inndata heltall variabel2:
98
Variabelen1 er mindre enn variabel2 ..

Eksempel 03: Bruk av "-GE" og "-LE" -operatøren

I dette eksemplet vil vi sjekke om variabel1 er større enn eller mindre enn variabel2, og om det kan være lik eller ikke lik variabel2.

1: Større enn eller lik “-GE” -operatøren:

Vi skal bruke "-GE" -operatøren for å sjekke om "variabelen1" inneholder en større verdi eller utjevnet verdi til "variable2".

Ekko "Angi en inndata heltallsvariabel1:"
Les variabel1
Ekko "Angi en inndata heltallsvariabel2:"
Les variabel2
hvis [$ variabel1 -ge $ variabel2];
deretter
ekko "Variabelen1 er større enn eller lik variabel2 ..."
ellers
ekko "Variabelen1 er ikke større enn eller ikke lik variabel2 ..."
fi

Ved å skrive “Bash Comparar.sh ”, vi har ønsket utgang:

Skriv inn en inndata heltallsvariabel1:
25
Skriv inn en inndata heltall variabel2:
24
Variabelen1 er større enn eller lik variabel2 ..

2: Mindre enn eller lik “-le” -operatøren

Nå vil vi bruke "-LE" -operatøren i den eksisterende koden slik at vi kan sjekke om verdien av "variabel1" er mindre enn eller lik "variable2" -verdien.

Ekko "Angi en inndata heltallsvariabel1:"
Les variabel1
Ekko "Angi en inndata heltallsvariabel2:"
Les variabel2
hvis [$ variabel1 -LE $ variabel2];
deretter
ekko "Variabelen1 er mindre enn eller lik variabel2 ..."
ellers
ekko "Variabelen1 er ikke mindre enn eller ikke lik variabel2 ..."
fi

Se på utgangen i Linux -terminalen:

Skriv inn en inndata heltallsvariabel1:
11
Skriv inn en inndata heltall variabel2:
11
Variabelen1 er mindre enn eller lik variabel2 ..

Måten 02: Dobbelt firkantede seler

"[]]" "Doble seler gjør det samme arbeidet som enkelt firkantede seler i bash. Men til gjengjeld vil bash ikke returnere noe annet enn 0 hvis tilstanden er sann og retur 1 hvis tilstanden er falsk. Nå skal vi implementere forskjellige eksempler på den andre måten å bruke sammenligningsoperatøren i bash -skriptet.

Eksempel 01: Bruk av () operatør

Følgende er en spesifisert situasjon for en dobbel firkantet avstivning der vi vil bruke “>” og “<” indicators to determine if the value of “variable1” is greater than or less than the “variable2” parameter. First, we have created an entirely new file for the double square brackets technique for that:

Linux@Linux-VirtualBox: ~ $ Touch Double.sh

Vi har brukt Nano -kommandoen til å gå inn i Nano -redaktøren:

linux@linux-virtualbox: ~ $ nano dobbel.sh

Vår nåværende redaktør er Nano -redaktøren. La oss begynne med å skrive litt kode:

1: Mindre enn “<” Operator

Her er eksemplet på mindre enn, der vi har to variabler, og vi vil få verdiene fra brukeren, så vi har brukt “Read”. Deretter vil vi utføre mindre enn drift på disse variablene.

Ekko "Angi en inndata heltallsvariabel1:"
Les variabel1
Ekko "Angi en inndata heltallsvariabel2:"
Les variabel2
if (($ variabel1 < $variable2 ));
deretter
ekko "Tilstanden er sann"
ekko "Return 0"
ellers
ekko "Tilstanden er falsk"
ekko "retur 1"
fi

For å kompilere skriptet har vi brukt “bash” -kommandoen sammen med filnavnet:

linux@linux-virtualbox: ~ $ bash double.sh

Her er utgangen:

Skriv inn en inndata heltallsvariabel1:
76
Skriv inn en inndata heltall variabel2:
102
Tilstanden er sann
Retur 0

2: Større enn “>” operatør

Nå vil vi bruke den neste operatøren, symbolet ">", for å avgjøre om verdien "variabel1" er større eller ikke. Som du kan se, i dette tilfellet:

Ekko "Angi en inndata heltallsvariabel1:"
Les variabel1
Ekko "Angi en inndata heltallsvariabel2:"
Les variabel2
if (($ variable1> $ variabel2));
deretter
ekko "Tilstanden er sann"
ekko "Return 0"
ellers
ekko "Tilstanden er falsk"
ekko "retur 1"
fi

Etter skriptets utførelse i Linux -terminalen, oppnådde vi denne utgangen:

Skriv inn en inndata heltallsvariabel1:
27
Skriv inn en inndata heltall variabel2:
22
Tilstanden er sann
Retur 0

Eksempel 02: Bruk av (=) operatører

Nå som det andre eksemplet er implementert, kan vi bruke bash -skriptoperatøren "> =" for å bestemme om verdien av variabel1 er mindre enn eller lik verdien av variabel2.

1: mindre enn eller lik "<=” Operator

I dette tilfellet vil vi sjekke den mindre eller lik verdien i disse variablene og skrive ut utgangen.

Ekko "Angi en inndata heltallsvariabel1:"
Les variabel1
Ekko "Angi en inndata heltallsvariabel2:"
Les variabel2
if (($ variabel1 <= $variable2 ));
deretter
ekko "Tilstanden er sann"
ekko "Return 0"
ellers
ekko "Tilstanden er falsk"
ekko "retur 1"
fi

Utfallet av den nevnte demonstrasjonen vises på skjermdumpen nedenfor:

Skriv inn en inndata heltallsvariabel1:
65
Skriv inn en inndata heltall variabel2:
65
Tilstanden er sann
Retur 0

2: større enn eller lik “> =” -operatør

I eksemplet nedenfor brukes "> =" -operatøren fra bashskriptet for å bekrefte om "D1" og "D2" har verdier som er større enn eller likeverdige.

Ekko "Angi en inndata heltallsvariabel1:"
Les variabel1
Ekko "Angi en inndata heltallsvariabel2:"
Les variabel2
if (($ variable1> = $ variabel2));
deretter
ekko "Tilstanden er sann"
ekko "Return 0"
ellers
ekko "Tilstanden er falsk"
ekko "retur 1"
fi

Etter eksemplets tiltenkte utfall:

Skriv inn en inndata heltallsvariabel1:
44
Skriv inn en inndata heltall variabel2:
44
Tilstanden er sann
Retur 0

Konklusjon

Vi har lært hvordan du bruker bashskriptet for å sammenligne heltallnumre. I tillegg dekket vi hvordan vi bruker flere operatører i et bash -skript. Med grundige forklaringer har vi bygget mange eksempler på disse operatørene i bash -skripting.