#!/bin/bash IP=$1 check() { A=`echo $IP | cut -f1 -d.` B=`echo $IP | cut -f2 -d.` C=`echo $IP | cut -f3 -d.` D=`echo $IP | cut -f4 -d.` if [ "$A" -lt "1" -o "$A" -gt "255" ] || [ "$B" -lt "0" -o "$B" -gt "255" ] || [ "$C" -lt "0" -o "$C" -gt "255" ] || [ "$D" -lt "0" -o "$D" -gt "255" ]; then exit 1 fi } case $1 in *[^0-9.]*) exit 1 ;; *.*.*.*.*) exit 1 ;; [0-9]*.[0-9]*.[0-9]*.[0-9]*) check ;; *) exit 1 ;; esac exit 0