linux shell检查字符串是否是IP

检查IP合法性的函数

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
}
baidu_ip=$(dig www.baidu.com +short @127.0.0.1 |tail -1)
if ! valid_ip "${baidu_ip}";then
    echo "IP不合法"
else
    echo "IP合法"
fi
原文地址:https://www.cnblogs.com/faberbeta/p/13507377.html