BASH – Script para validar Dirección IP.-

Este scrip de nombre “valida_ip.sh” nos permite validar una lista de Direcciónes IP, indicando si esta correcta o mala.-

#!/bin/bash
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
}

if [[ "$(basename $0 .sh)" == 'valida_ip' ]]; then
    ips='
        4.2.2.2
        a.b.c.d
        192.168.1.1
        0.0.0.0
        255.255.255.255
        125.e.12.45
        255.255.255.256
        192.168.0.1
        192.168.0
        1234.123.123.123
        '
    for ip in $ips
    do
        if valid_ip $ip; then stat='correcto'; else stat='malo'; fi
        printf "%-20s: %s\n" "$ip" "$stat"
    done
fi

Al ejecutar este script, obtenemos el siguiente resultado :

4.2.2.2             : correcto
a.b.c.d             : malo
192.168.1.1         : correcto
0.0.0.0             : correcto
255.255.255.255     : correcto
125.e.12.45         : malo
255.255.255.256     : malo
192.168.0.1         : correcto
192.168.0           : correcto
1234.123.123.123    : malo
Esta entrada fue publicada en Unix - Linux. Guarda el enlace permanente.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.