# How to Validate IPv4 Addresses in Shell Script

验证 IP 地址是网络和系统管理中的一项常见任务。在本教程中,我们将学习如何使用 shell 脚本验证 IPv4 地址。这在需要确保用户输入或来自其他来源的数据采用正确的 IPv4 格式的情况下特别有用。

IPv4 地址格式

IPv4 地址由 4 个 8 字节组成,每个 8 字节的取值范围为 0 ~ 255,中间用点分隔。例如:192.168.1.1 是合法的 IPv4 地址。

编写脚本

我们将使用一个函数来验证 IPv4 地址,该函数使用正则表达式检查输入是否与 IPv4 模式匹配。

#!/bin/bash
# Filename: validate_ip.sh

validate_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
}

echo -n "Enter IPv4 address: "
read ip_address

if validate_ip $ip_address; then
    echo "${ip_address} is a valid IPv4 address."
else
    echo "${ip_address} is a invalid IPv4 address."
fi

测试脚本

(1) 让脚本可执行: chmod +x validate_ip.sh

(2) 运行脚本: ./validate_ip.sh

(3) 根据提示输入 IPv4 地址

我的开源项目

酷瓜云课堂-在线教育解决方案


鸠摩智首席音效师
472 声望9 粉丝

身强体健,龙精虎猛的活着。


引用和评论

0 条评论