I am a beginner in bash scripting. I tried to create a script to determine if a number is odd or even. The program is supposed to exit when it is given a string or more than 1 argument. It is working fine in every case but it can't detect an even number. It is behaving like it is passed a string! Here is the code:
#!/bin/bash
NUM=$1
if [ $# -ne 1 ]; then
echo "Please pass a number to determine whether it's odd or even!"
exit 1
fi
let RESULT=NUM%2
if [ $? -ne 0 ]; then
echo "Please enter an integer! Exit Status: 2."
exit 2
fi
if [ $RESULT -eq 0 ]; then
echo "This is an even number!"
else
echo "this is an odd number"
fi