In programming, modulus or remainder is the operation that returns the remainder of a division. In Bash, the modulus operator is represented by the % symbol. The modulus operator is commonly used in programming to check if a number is divisible by another number or to perform operations that require a cyclic pattern. In this article, we will explore how to use the modulus operator in Bash.
Syntax:
The syntax of the modulus operator in Bash is as follows:
1 | expr num1 % num2 |
Where num1 and num2 are the two numbers being operated on. The % symbol represents the modulus operator.
Example 1: Checking if a number is even or odd
The modulus operator can be used to determine whether a number is even or odd. An even number is one that is divisible by 2, while an odd number is not. The following code checks if a number is even or odd:
1 2 3 4 5 6 7 8 9 | num=10 if [ $(expr $num % 2) -eq 0 ] then echo "$num is even" else echo "$num is odd" fi #Output: 10 is even |
Example 2: Generating a cyclic pattern
The modulus operator can also be used to generate a cyclic pattern. For example, if you want to print numbers from 1 to 10 repeatedly in a cyclic pattern, you can use the following code:
1 2 3 4 5 | for i in {1..20}; do echo $((i % 10 + 1)) done #Output: 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 |
Example 3: Checking for leap year
The modulus operator can be used to check if a year is a leap year. A leap year is a year that is divisible by 4, except for years that are divisible by 100 but not by 400. The following code checks if a year is a leap year:
1 2 3 4 5 6 7 8 9 | year=2024 if [ $(expr $year % 4) -eq 0 -a $(expr $year % 100) -ne 0 -o $(expr $year % 400) -eq 0 ] then echo "$year is a leap year" else echo "$year is not a leap year" fi #Output: 2024 is a leap year |
Example 4: Calculating remainder
The modulus operator can be used to calculate the remainder of a division. The following code calculates the remainder of dividing 10 by 3:
1 2 3 | echo $(expr 10 % 3) #Output: 1 |
Example 5: Checking for divisibility
The modulus operator can be used to check if a number is divisible by another number. The following code checks if 10 is divisible by 5:
1 2 3 4 5 6 7 8 | if [ $(expr 10 % 5) -eq 0 ] then echo "10 is divisible by 5" else echo "10 is not divisible by 5" fi #Output: 10 is divisible by 5 |
Conclusion
In this article, we have explored how to use the modulus operator in Bash. We have seen how the modulus operator can be used to determine whether a number is even or odd, generate a cyclic pattern, check for leap year, calculate remainder, and check for divisibility. The modulus operator is a powerful tool in programming that can be used in many different ways. Understanding how to use the modulus operator in Bash is essential for writing efficient and effective Bash scripts.
How did it make you feel?

