#!/bin/bash die (){ echo >&2 "$@" exit 1 } function valid_ip(){ local ip=$1 local stat=1 if [[ $ip =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then OIFS=$IFS IFS='.' ip=($ip) IFS=$OIFS [[ ${ip[0]} -le 255 && ${ip[1]} -le 255 \ && ${ip[2]} -le 255 && ${ip[3]} -le 255 ]] stat=$? fi return $stat } [ "$#" -eq 1 ] || die "1 argument required, $# provided" if valid_ip $1; then echo "Valid IP." else echo "Not valid IP." fi