Home Linux Shell Script to check whether a given number is a palindrome or not

Shell Script to check whether a given number is a palindrome or not

by Anup Maurya
14 minutes read

In this article, we will discuss how to write a shell script to check whether a given number is a palindrome or not.

What is Palindrome number?

A palindrome is a number that remains the same when its digits are reversed. For example, 121 is a palindrome, but 123 is not.

Let’s dive into the code!

Before we get started, let’s briefly discuss what shell scripting is. A shell script is a computer program designed to be run by the Unix/Linux shell, which is a command-line interpreter. Shell scripts are used to automate tasks, manipulate files, and perform other operations in a Unix/Linux environment.

Now, let’s take a look at the shell script to check whether a given number is a palindrome or not.

Shell Script to check whether a given number is a palindrome or not

#!/bin/bash

echo "Enter a number: "
read number

reverse=0
original=$number

while [ $number -ne 0 ]
do
    remainder=$(( $number % 10 ))
    reverse=$(( $reverse * 10 + $remainder ))
    number=$(( $number / 10 ))
done

if [ $original -eq $reverse ]
then
    echo "$original is a palindrome."
else
    echo "$original is not a palindrome."
fi

Let’s go through this script step by step:

  • The first line #!/bin/bash is called a shebang line. It tells the system that this file is a shell script and should be interpreted using the Bash shell.
  • The echo command is used to prompt the user to enter a number.
  • The read command is used to read in the number entered by the user and store it in the variable number.
  • The while loop is used to reverse the number. We store the original number in the variable original, and we use the variables number, reverse, and remainder to reverse the digits of the number.
  • In each iteration of the loop, we use the modulo operator % to get the remainder when the number is divided by 10. We then add this remainder to the reverse variable multiplied by 10, which shifts the digits of the reverse variable one place to the left. We divide the number by 10 to remove the last digit.
  • After the loop has completed, we check whether the original number is equal to the reverse number. If they are equal, we print out a message saying that the number is a palindrome. Otherwise, we print out a message saying that the number is not a palindrome.

Now that we understand how this script works, let’s see how we can run it. To run this script, save it in a file with a .sh extension (e.g. palindrome.sh), make the file executable with chmod +x palindrome.sh, and then run the script with ./palindrome.sh.

In conclusion, this shell script can be used to check whether a given number is a palindrome or not. It is a simple yet useful tool that can be used to test a variety of numbers. With a little bit of knowledge of shell scripting, anyone can create scripts like this to automate tasks and simplify their workflow.

related posts

1 comment

venu December 5, 2023 - 3:48 am

Thanks @Anup Maurya this is very helpful us

Reply

Leave a Comment

Enable Notifications OK No thanks