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.