Jak porównać liczby w Bash?

Jak porównać liczby w Bash?
Dowiedziałeś się o wielu operacjach porównawczych, które można wykorzystać do kontrastu zmiennych w bicie. Ale czasami możesz skonfrontować się z wieloma sytuacjami, w których musisz opracować skrypty, aby wykonywać określone zadania i wykonać skrypt wiele razy w oparciu o określone wartości liczb całkowitych w Bash. W takich sytuacjach możemy wykorzystać operatorów BASH do porównań liczb całkowitych.

Różne sposoby porównywania zmiennych całkowitych w skryptowaniu bash:

Do porównania liczb całkowitych użyjemy dwóch ważnych operatorów w Bash, aby uzyskać porównania, które są kwadratowymi i podwójnymi aparatami ortodontycznymi.

Way 01: Single kwadratowe aparaty ortodontyczne

Kwadratowe szelki „[]” są również określane jako pojedyncze kwadratowe aparaty ortodonty. Podajmy kilka przykładów, które pokazują ideę baszy na Linux, abyśmy mogli szybko zaimplementować różne operatory Bash. Oto kilka przykładów korzystania z różnych operatorów w jednym kwadratowym aparaty ortodontycznych.

Przykład 01: użycie operatorów „-eq” i „-Ne”

Zastanówmy się nad operatorem „-eq”, który określa, czy kilka zmiennych jest równoważne w skryptach BASH jako początkowa demonstracja operatora porównawczego. Aby rozpocząć wprowadzenie przykładu, musimy najpierw utworzyć plik skryptowy Bash, używając słowa kluczowego „dotyk” w nazwie pliku i dodając rozszerzenie „sh”. Całe polecenie tworzenia pliku jest następujące:

Linux@Linux-virtualbox: ~ $ touch Porównaj.cii

Po wprowadzeniu wspomnianego polecenia plik o nazwie „Porównaj.sh ”zostanie wyprodukowane. Abyśmy mogli wdrożyć kod, chcemy wejść do redaktora „Nano”. Aby to osiągnąć, dodamy „Porównaj.Polecenie sh ”po słowach kluczowych„ nano ”, jak pokazano poniżej:

Linux@Linux-virtualbox: ~ $ nano porównaj.cii

Nano Editor zostanie uruchomiony po naciśnięciu. Abyśmy mogli porównać dwie liczby liczb całkowitych, musimy napisać niezbędny kod w tej sekcji.

1: równy operatorowi „-eq”

Użyliśmy dwóch zmiennych w tym kodzie o nazwie „Zmienna 1” i „zmienna2” i użyliśmy słowa kluczowego „odczyt”, które otrzyma odpowiednio wartości tych zmiennych od użytkownika w czasie wykonywania. Stwierdzenie „jeśli” zostało następnie użyte do ustalenia, czy liczby liczb całkowitych są równe.

echo „Wprowadź zmienną liczbową wejściową 1:”
odczytaj zmienną 1
echo „Wprowadź zmienną liczby całkowitych wejściowych2:”
odczytaj zmienną2
jeśli [$ zmienna1 -eq $ varible2];
Następnie
Echo „Obie zmienne liczb całkowitych wejściowych są równe…”
w przeciwnym razie
Echo „Obie zmienne całkowite wejściowe nie są równe…”
fi

Aby zamknąć edytora nano po zakończeniu pisania programu, wpisz „Ctrl + x.”Następnie powróciliśmy do głównego terminalu Linux. Napisz „Bash” i nazwę pliku, aby uruchomić kod.

Linux@Linux-virtualbox: ~ $ BASH Porównaj.cii

Wynik uruchamiania kodu pokazanego powyżej jest tutaj widoczny:

Wprowadź zmienną liczbową wejściową 1:
100
Wprowadź zmienną liczbową wejściową 2:
100
Obie zmienne liczb całkowitych wejściowych są równe…

2: Nie równy operatorowi „-NE”

Teraz użyjemy operatora porównawczego „-NE”, co oznacza „nie równe”. Za pośrednictwem tego operatora sprawdzimy, że „zmienna 1” nie jest równa „zmiennej2” w skryptowaniu bashu. W tym celu przeprowadziliśmy pewne modyfikacje w tym samym powyższym pliku, który jest „Porównaj. cii". W zmodyfikowanym kodzie właśnie zmieniliśmy wartości i operator „-eq” z „-NE”, jak pokazano poniżej:

echo „Wprowadź zmienną liczbową wejściową 1:”
odczytaj zmienną 1
echo „Wprowadź zmienną liczby całkowitych wejściowych2:”
odczytaj zmienną2
jeśli [$ zmienna1 -Ne $ varible2];
Następnie
Echo „Obie zmienne całkowite wejściowe nie są równe…”
w przeciwnym razie
Echo „Obie zmienne liczb całkowitych wejściowych są równe…”
fi

Oto pożądane wyjście pokazane na poniższym obrazku:

Wprowadź zmienną liczbową wejściową 1:
50
Wprowadź zmienną liczbową wejściową 2:
100
Obie wejściowe zmienne całkowite nie są równe…

Przykład 02: użycie operatorów „-GT” i „-lt”

To kolejna ilustracja sposobu korzystania z operatorów porównawczych „-GT” i „-LT” w kodzie. Ocenimy, czy „zmienna 1” jest większa niż „zmienna2” w instancji.

1: Większy niż operator „-GT”

Po pierwsze, ustalamy, czy zmienna 1 przekracza lub nie przekracza zmiennej 2. Snippet kodowy, który pokazuje, jak wdrażany jest operator „-GT”, pokazano poniżej.

echo „Wprowadź zmienną liczbową wejściową 1:”
odczytaj zmienną 1
echo „Wprowadź zmienną liczby całkowitych wejściowych2:”
odczytaj zmienną2
if [$ varible1 -Gt $ varible2];
Następnie
Echo „Zmienna 1 jest większa niż zmienna2…”
w przeciwnym razie
echo „Zmienna 1 nie jest większa niż zmienna2…”
fi

Kiedy wykonaliśmy skrypt, wynik pokazał, że „zmienna 1” była większa niż „zmienna 2”.

Wprowadź zmienną liczbową wejściową 1:
98
Wprowadź zmienną liczbową wejściową 2:
96
Zmienna 1 jest większa niż zmienna 2…

2: Operator mniej niż „-lt”

Teraz, używając operatora „-LT” w skryptowaniu BASH, ustalimy, czy „zmienna 1„ jest mniejsza niż ”zmienna 2”, czy nie.

echo „Wprowadź zmienną liczbową wejściową 1:”
odczytaj zmienną 1
echo „Wprowadź zmienną liczby całkowitych wejściowych2:”
odczytaj zmienną2
jeśli [$ varible1 -lt $ varible2];
Następnie
Echo „Zmienna 1 jest mniejsza niż zmienna 2…”
w przeciwnym razie
echo „Zmienna 1 jest nie mniejsza niż zmienna 2…”
fi

Rozważ wyniki podanego powyżej przykładu:

Wprowadź zmienną liczbową wejściową 1:
96
Wprowadź zmienną liczbową wejściową 2:
98
Zmienna 1 jest mniejsza niż zmienna 2…

Przykład 03: użycie operatora „-ge” i „-le”

W tym przykładzie sprawdzimy, czy zmienna 1 jest większa, czy mniejsza niż zmienna2 i czy może być równa, czy nie jest równa zmiennej2.

1: Większe lub równe operatorowi „-ge”:

Użyjemy operatora „-Ge”, aby sprawdzić, czy „zmienna 1” zawiera większą wartość lub wyrównaną wartość do „zmiennej2”.

echo „Wprowadź zmienną liczbową wejściową 1:”
odczytaj zmienną 1
echo „Wprowadź zmienną liczby całkowitych wejściowych2:”
odczytaj zmienną2
jeśli [$ varible1 -ge $ varible2];
Następnie
echo „zmienna 1 jest większa lub równa zmiennej2…”
w przeciwnym razie
echo „zmienna 1 nie jest większa niż nie jest równa zmiennej2…”
fi

Pisząc „Bash Porównaj.sh ”, mamy pożądane dane wyjściowe:

Wprowadź zmienną liczbową wejściową 1:
25
Wprowadź zmienną liczbową wejściową 2:
24
Zmienna 1 jest większa lub równa zmiennej2…

2: mniej niż lub równy operatorowi „-le”

Teraz zastosujemy operator „-le” w istniejącym kodzie, abyśmy mogli sprawdzić, czy wartość „zmienna 1” jest mniejsza lub równa wartości „zmienna2”.

echo „Wprowadź zmienną liczbową wejściową 1:”
odczytaj zmienną 1
echo „Wprowadź zmienną liczby całkowitych wejściowych2:”
odczytaj zmienną2
jeśli [$ varible1 -le $ varible2];
Następnie
echo „zmienna 1 jest mniejsza lub równa zmiennej2…”
w przeciwnym razie
echo „Zmienna 1 jest nie mniejsza niż nie jest równa zmiennej2…”
fi

Spójrz na wyjście w terminalu Linux:

Wprowadź zmienną liczbową wejściową 1:
11
Wprowadź zmienną liczbową wejściową 2:
11
Zmienna 1 jest mniejsza lub równa zmiennej2…

Way 02: Podwójne aparaty kwadratowe

Podwójne aparaty ortodontyczne „[]]” wykonują tę samą pracę, co pojedyncze kwadratowe aparaty ortodontyczne w Bash. Ale w zamian bash nie zwróci niczego oprócz 0, jeśli warunek jest prawdziwy i zwróci 1, jeśli warunek jest fałszywy. Teraz zamierzamy wdrożyć różne przykłady drugiego sposobu korzystania z operatora porównawczego w skryptowaniu BASH.

Przykład 01: Użyj operatora ()

Poniżej znajduje się określona sytuacja podwójnego kwadratowego stężenia, w której zastosujemy „>” i „<” 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.cii

Użyliśmy polecenia Nano, aby wprowadzić Edytor Nano:

Linux@Linux-virtualbox: ~ $ nano Double.cii

Naszym obecnym redaktorem jest redaktor Nano. Zacznijmy od napisania kodu:

1: mniej niż „<” Operator

Oto przykład mniej niż, gdzie mamy dwie zmienne i otrzymamy wartości od użytkownika, więc użyliśmy „Odczyt”. Następnie wykonamy mniej niż operację tych zmiennych.

echo „Wprowadź zmienną liczbową wejściową 1:”
odczytaj zmienną 1
echo „Wprowadź zmienną liczby całkowitych wejściowych2:”
odczytaj zmienną2
if (($ zmienna1 < $variable2 ));
Następnie
Echo „Warunek jest prawdziwy”
Echo „Powrót 0”
w przeciwnym razie
echo „Warunek jest fałszywy”
Echo „Powrót 1”
fi

Aby skompilować skrypt, użyliśmy polecenia „Bash” wraz z nazwą pliku:

Linux@Linux-virtualbox: ~ $ bash double.cii

Oto wyjście:

Wprowadź zmienną liczbową wejściową 1:
76
Wprowadź zmienną liczbową wejściową 2:
102
Warunek jest prawdziwy
Powrót 0

2: Większy niż „>” Operator

Teraz użyjemy następnego operatora, symbolu „>”, aby ustalić, czy wartość „zmienna 1” jest większa, czy nie. Jak widać, w tym przypadku:

echo „Wprowadź zmienną liczbową wejściową 1:”
odczytaj zmienną 1
echo „Wprowadź zmienną liczby całkowitych wejściowych2:”
odczytaj zmienną2
if (($ varible1> $ varible2));
Następnie
Echo „Warunek jest prawdziwy”
Echo „Powrót 0”
w przeciwnym razie
echo „Warunek jest fałszywy”
Echo „Powrót 1”
fi

Po wykonaniu skryptu w terminalu Linux otrzymaliśmy to wyjście:

Wprowadź zmienną liczbową wejściową 1:
27
Wprowadź zmienną liczbową wejściową 2:
22
Warunek jest prawdziwy
Powrót 0

Przykład 02: użycie operatorów (=)

Teraz, gdy drugi przykład został zaimplementowany, możemy użyć operatora skryptu bash „> =”, aby ustalić, czy wartość zmiennej 1 jest mniejsza lub równa wartości zmiennej2.

1: mniej niż lub równe „<=” Operator

W takim przypadku sprawdzimy mniej lub równą wartość w tych zmiennych i wydrukujemy wyjście.

echo „Wprowadź zmienną liczbową wejściową 1:”
odczytaj zmienną 1
echo „Wprowadź zmienną liczby całkowitych wejściowych2:”
odczytaj zmienną2
if (($ zmienna1 <= $variable2 ));
Następnie
Echo „Warunek jest prawdziwy”
Echo „Powrót 0”
w przeciwnym razie
echo „Warunek jest fałszywy”
Echo „Powrót 1”
fi

Wynik wspomnianej demonstracji jest wyświetlany na zrzucie ekranu poniżej:

Wprowadź zmienną liczbową wejściową 1:
65
Wprowadź zmienną liczbową wejściową 2:
65
Warunek jest prawdziwy
Powrót 0

2: Większy lub równy operatorowi „> =”

W poniższym przykładzie operator „> =” z skryptu bash jest używany do sprawdzenia, czy „D1” i „D2” mają wartości większe lub równe lub równe.

echo „Wprowadź zmienną liczbową wejściową 1:”
odczytaj zmienną 1
echo „Wprowadź zmienną liczby całkowitych wejściowych2:”
odczytaj zmienną2
if (($ varible1> = $ varible2));
Następnie
Echo „Warunek jest prawdziwy”
Echo „Powrót 0”
w przeciwnym razie
echo „Warunek jest fałszywy”
Echo „Powrót 1”
fi

Zgodnie z zamierzonymi wynikami przykładu:

Wprowadź zmienną liczbową wejściową 1:
44
Wprowadź zmienną liczbową wejściową 2:
44
Warunek jest prawdziwy
Powrót 0

Wniosek

Nauczyliśmy się, jak używać skryptu Bash do porównywania liczb całkowitych. Dodatkowo omówiliśmy, jak używać kilku operatorów w skrypcie Bash. Dzięki dokładnym wyjaśnieniu zbudowaliśmy wiele przykładów tych operatorów w scenariuszu Bash.