Using Modulus Operator (%) in Bash

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:

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:

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:

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:

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:

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:

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.

The post Using Modulus Operator (%) in Bash appeared first on TecAdmin.

Linux Tutorials TecAdmin