# Thanks to Chris F. A. Johnson <c.f.a.johnson@rogers.com> for this one | |
is_validip() | |
{ | |
case "$*" in | |
""|*[!0-9.]*|*[!0-9]) return 1 ;; | |
esac | |
local IFS=. | |
set -- $* | |
[ $# -eq 4 ] && | |
[ ${1:-666} -le 255 ] && [ ${2:-666} -le 255 ] && | |
[ ${3:-666} -le 255 ] && [ ${4:-666} -le 254 ] | |
} |