Menggunakan pengendali modulus (%) di bash

Menggunakan pengendali modulus (%) di bash

Dalam pengaturcaraan, modulus atau selebihnya adalah operasi yang mengembalikan baki bahagian. Di bash, pengendali modulus diwakili oleh simbol %. Operator modulus biasanya digunakan dalam pengaturcaraan untuk memeriksa sama ada nombor boleh dibahagikan dengan nombor lain atau untuk melaksanakan operasi yang memerlukan corak kitaran. Dalam artikel ini, kami akan meneroka cara menggunakan pengendali modulus di Bash.

Sintaks:

Sintaks pengendali modulus di bash adalah seperti berikut:

exprum num1 % num2
1exprum num1 % num2

Di mana num1 dan num2 Adakah dua nombor yang dikendalikan. Simbol % mewakili pengendali modulus.

Contoh 1: Memeriksa sama ada nombornya atau ganjil

Pengendali modulus boleh digunakan untuk menentukan sama ada nombor adalah bahkan atau ganjil. Nombor juga adalah yang boleh dibahagikan dengan 2, sementara nombor ganjil tidak. Kod berikut memeriksa jika nombor adalah walaupun atau ganjil:

num = 10 jika [$ (expr $ num % 2) -eq 0] maka echo "$ num bahkan" lain echo "$ num adalah ganjil" fi #output: 10 bahkan
123456789num = 10if [$ (expr $ num % 2) -eq 0] maka echo "$ num bahkan" else echo "$ num is ard" fi #output: 10 bahkan

Contoh 2: Menjana corak kitaran

Operator modulus juga boleh digunakan untuk menghasilkan corak kitaran. Sebagai contoh, jika anda ingin mencetak nombor dari 1 hingga 10 berulang kali dalam corak kitaran, anda boleh menggunakan kod berikut:

untuk saya dalam 1 ... 20; Adakah echo $ ((i % 10 + 1)) Selesai #Output: 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10
12345untuk saya dalam 1 ... 20; Adakah echo $ ((i % 10 + 1)) Selesai #Output: 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10

Contoh 3: Memeriksa Tahun Lompat

Operator modulus boleh digunakan untuk memeriksa sama ada setahun adalah tahun lompat. Tahun lompatan adalah tahun yang boleh dibahagikan dengan 4, kecuali selama bertahun -tahun yang boleh dibahagikan dengan 100 tetapi tidak dengan 400. Kod berikut memeriksa jika setahun adalah tahun lompat:

tahun = 2024 jika [$ (expr $ year % 4) -eq 0 -a $ (expr $ year % 100) -ne 0 -o $ (expr $ year % 400) -eq 0] maka echo "$ year adalah a Leap Year "Else Echo" $ tahun bukan tahun lompat "Fi #Output: 2024 adalah tahun lompatan
123456789tahun = 2024if [$ (expr $ year % 4) -eq 0 -a $ (expr $ year % 100) -ne 0 -o $ (expr $ year % 400) -eq 0] kemudian echo "$ year adalah lompat tahun "lain echo" $ tahun bukan tahun lompat "Fi #Output: 2024 adalah tahun lompatan

Contoh 4: Mengira baki

Pengendali modulus boleh digunakan untuk mengira baki bahagian. Kod berikut mengira baki pembahagian 10 hingga 3:

echo $ (expr 10 % 3) #Output: 1
123echo $ (expr 10 % 3) #Output: 1

CONTOH 5: Memeriksa Delagibiliti

Pengendali modulus boleh digunakan untuk memeriksa sama ada nombor boleh dibahagikan dengan nombor lain. Kod berikut memeriksa jika 10 boleh dibahagikan dengan 5:

jika [$ (expr 10 % 5) -eq 0] maka echo "10 boleh dibahagikan dengan 5" else echo "10 tidak boleh dibahagikan dengan 5" fi #output: 10 boleh dibahagikan dengan 5
12345678jika [$ (expr 10 % 5) -eq 0] maka echo "10 boleh dibahagikan dengan 5" else echo "10 tidak boleh dibahagikan dengan 5" fi #output: 10 boleh dibahagikan dengan 5

Kesimpulan

Dalam artikel ini, kami telah meneroka cara menggunakan pengendali modulus di Bash. Kami telah melihat bagaimana pengendali modulus boleh digunakan untuk menentukan sama ada nombor adalah bahkan atau ganjil, menghasilkan corak kitaran, periksa tahun lompat, mengira baki, dan periksa kebolehpercayaan. Operator Modulus adalah alat yang berkuasa dalam pengaturcaraan yang boleh digunakan dengan pelbagai cara. Memahami Cara Menggunakan Operator Modulus di Bash adalah penting untuk menulis skrip bash yang cekap dan berkesan.