验证 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 地址
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。