#!/bin/sh
echo "Enter IP address"
read quad
oldIFS=$IFS
IFS=.
set -- $quad
if [ "$#" -ne "4" ]; then
echo "Must have 4 parts"
exit 1
fi
for oct in $1 $2 $3 $4; do
echo $oct | egrep "^[0-9]+$" >/dev/null 2>&1
if [ "$?" -ne "0" ]; then
echo "$oct: Not numeric"
exit 1
else
if [ "$oct" -lt "0" -o "$oct" -gt "255" ]; then
echo "$oct: Out of range"
exit 1
fi
fi
done
# if we're here, we're validated
echo "$quad validates OK!"
exit 0
#!/bin/sh
echo "Enter IP address"
read quad
oldIFS=$IFS
IFS=.
set -- $quad
if [ "$#" -ne "4" ]; then
echo "Must have 4 parts"
exit 1
fi
for oct in $1 $2 $3 $4; do
echo $oct | egrep "^[0-9]+$" >/dev/null 2>&1
if [ "$?" -ne "0" ]; then
echo "$oct: Not numeric"
exit 1
else
if [ "$oct" -lt "0" -o "$oct" -gt "255" ]; then
echo "$oct: Out of range"
exit 1
fi
fi
done
# New code from here....
echo "$quad" | grep "\.$" >/dev/null 2>&1
if [ "$?" -eq "0" ]; then
echo "Trailing period - invalid"
exit 1
fi
# to here.....
# if we're here, we're validated
echo "$quad validates OK!"
exit 0