编程shell script程序,使用正则表达式,判断输入的IP是否合法。
时间: 2024-02-25 16:56:23 浏览: 81
可以使用以下的shell脚本程序来判断输入的IP地址是否合法:
```bash
#!/bin/bash
# 获取用户输入的IP地址
read -p "请输入IP地址:" ip
# 定义正则表达式
ipregex="^([0-9]{1,3}\.){3}[0-9]{1,3}$"
# 判断IP地址是否符合正则表达式的格式
if [[ $ip =~ $ipregex ]]; then
echo "IP地址合法"
else
echo "IP地址不合法"
fi
```
上述脚本程序首先获取用户输入的IP地址,然后定义了一个正则表达式变量`ipregex`,用于匹配IP地址的格式。接着,使用`[[ $ip =~ $ipregex ]]`语句判断用户输入的IP地址是否符合正则表达式的格式,如果符合则输出“IP地址合法”,否则输出“IP地址不合法”。
相关问题
1. 编程shell script程序,使用正则表达式,判断输入的IP是否合法。
可以使用以下 shell script 程序来判断输入的 IP 是否合法:
```bash
#!/bin/bash
echo -n "请输入IP地址:"
read ip
if [[ "$ip" =~ ^([0-9]{1,3}\.){3}[0-9]{1,3}$ ]]; then
# 将 IP 地址拆分成四个整数
IFS='.' read -r -a ip_parts <<< "$ip"
# 循环检查每个整数是否在 0-255 范围内
for part in "${ip_parts[@]}"; do
if (( part < 0 || part > 255 )); then
echo "IP地址不合法!"
exit 1
fi
done
echo "IP地址合法。"
else
echo "IP地址不合法!"
exit 1
fi
```
该程序使用正则表达式 `^([0-9]{1,3}\.){3}[0-9]{1,3}$` 来判断输入的字符串是否符合 IP 地址的格式,如果符合,则将其拆分成四个整数进行检查。如果整数不在 0-255 范围内,则该 IP 地址不合法。
阅读全文