Korzystanie z operatora modułu (%) w Bash

Korzystanie z operatora modułu (%) w Bash

W programowaniu moduł lub pozostała część jest operacją, która zwraca pozostałą część podziału. W Bash operator modułu jest reprezentowany przez % symbolu. Operator modułu jest powszechnie używany w programowaniu do sprawdzenia, czy liczba jest podzielna według innej liczby lub do wykonywania operacji wymagających cyklicznego wzoru. W tym artykule zbadamy, jak korzystać z operatora modułu w Bash.

Składnia:

Składnia operatora modułu w Bash jest następująca:

Expr Num1 % NUM2
1Expr Num1 % NUM2

Gdzie Num1 I Num2 Czy dwie liczby są obsługiwane. Symbol % reprezentuje operatora modułu.

Przykład 1: Sprawdzanie, czy liczba jest równa czy dziwna

Operatora modułu można użyć do ustalenia, czy liczba jest równa czy dziwna. Liczba parzystej to ta, która jest podzielna przez 2, podczas gdy liczba nieparzysty nie jest. Następujące kody sprawdza, czy liczba jest równa lub dziwna:

num = 10 Jeśli [$ (expr $ num % 2) -eq 0], a następnie echo „$ num to nawet„ else echo ”$ num” fi #output: 10 jest parzyste
123456789num = 10if [$ (expr $ num % 2) -eq 0], a następnie echo „$ num to nawet„ else echo ”$ num” fi #output: 10 jest parzyste

Przykład 2: Generowanie cyklicznego wzoru

Operator modułu można również użyć do generowania cyklicznego wzoru. Na przykład, jeśli chcesz wydrukować liczby od 1 do 10 wielokrotnie w cyklicznym wzorze, możesz użyć następującego kodu:

Dla I in 1… 20; do echo $ ((i % 10 + 1)) gotowe #output: 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10
12345Dla I in 1… 20; do echo $ ((i % 10 + 1)) gotowe #output: 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10

Przykład 3: Sprawdzanie roku skokowego

Operator modułu można użyć do sprawdzenia, czy rok to rok skokowy. Rok kroku to rok, który można podzielić przez 4, z wyjątkiem lat, które są podzielne przez 100, ale nie przez 400. Następujący kod kontroluje, jeśli rok jest rokiem skoku:

Rok = 2024 Jeśli [$ (Expr $ % 4) -EQ 0 -A $ (Expr $ rok % 100) -NE 0 -O $ (Expr $ % 400) -EQ 0], a następnie echo „$ rok to a Rok LEAP „Else Echo” $ Year to nie rok skokowy ”FI #output: 2024 to rok skokowy
123456789rok = 2024if [$ (Expr $ % 4) -EQ 0 -A $ (Expr $ rok % 100) -NE 0 -O $ (Expr $ % 400) -EQ 0], a następnie echo „$ rok to skok Rok „Else Echo” $ Year nie jest rokiem skokowym ”FI #output: 2024 to rok skokowy

Przykład 4: Obliczanie pozostałej części

Do obliczenia pozostałej części podziału można użyć operatora modułu. Poniższy kod oblicza pozostałą część podziału 10 przez 3:

Echo $ (expr 10 % 3) #output: 1
123Echo $ (expr 10 % 3) #output: 1

Przykład 5: Sprawdzanie podziału

Operator modułu można użyć do sprawdzenia, czy liczba jest podzielna według innej liczby. Poniższy kod sprawdza, czy 10 jest podzielne przez 5:

Jeśli [$ (expr 10 % 5) -eq 0], to echo „10 jest podzielne przez 5„ else echo ”10 nie jest podzielne przez 5" fi #output: 10 jest podzielne przez 5
12345678Jeśli [$ (expr 10 % 5) -eq 0], to echo „10 jest podzielne przez 5„ else echo ”10 nie jest podzielne przez 5" fi #output: 10 jest podzielne przez 5

Wniosek

W tym artykule zbadaliśmy, jak korzystać z operatora modułu w Bash. Widzieliśmy, w jaki sposób operator modułu można użyć do ustalenia, czy liczba jest równa, czy dziwna, wygeneruj cykliczny wzór, sprawdź rok skokowy, oblicz pozostałą część i sprawdź podzielność. Operator modułu jest potężnym narzędziem w programowaniu, którego można używać na wiele różnych sposobów. Zrozumienie, jak korzystać z operatora modułu w BASH, jest niezbędne do pisania wydajnych i skutecznych skryptów Bash.