我就是这么做的。
read -p "enter ip " ip
if [[ $ip =~ ^[1-255].[1-255].[1-255].[1-255]$ ]]; then echo "good"; fi
仅当输入为 1.1.1.1 时才有效
答案1
[1-255]
表示 1 或 2 或 5 ,它不会匹配 1 到 255
使用这个代替,这里我正在计算出现次数
echo $ip | egrep -o '^([0-9]{1,3}\.){3}[0-9]{1,3}$'
[0-9]{1,3}\.
表示数字 0-9 可以出现 3 次,后跟点
([0-9]{1,3}\.){1,3}
意味着上面的模式必须是三倍
是的,它也会匹配不正确的 IP。