简介

使用 grep 的正则表达式判断字符串是否是合法 IPv4

脚本

#!/bin/bash
ip=$1
if [ "$ip" == "" ]; then
    echo "usage : $0 ip"
    exit 1
fi

if echo $ip | grep -E "^(([1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$" >>/dev/null 2>&1; then
    echo "$ip is ipv4"
else
    echo "$ip is invalid ipv4"
fi