Menggunakan pengendali modulus (%) di bash
- 1641
- 405
- Clarence Powlowski
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 % num21 | exprum 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 bahkan123456789 | num = 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 1012345 | 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 |
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 lompatan123456789 | tahun = 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: 1123 | echo $ (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 512345678 | 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 |
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.