| # 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 ] | |
| } |