![입력한 IP 형식이 일치하는지 확인하세요. [복사]](https://linux55.com/image/135781/%EC%9E%85%EB%A0%A5%ED%95%9C%20IP%20%ED%98%95%EC%8B%9D%EC%9D%B4%20%EC%9D%BC%EC%B9%98%ED%95%98%EB%8A%94%EC%A7%80%20%ED%99%95%EC%9D%B8%ED%95%98%EC%84%B8%EC%9A%94.%20%5B%EB%B3%B5%EC%82%AC%5D.png)
그것은 바로 내가 한 일이다.
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도 일치합니다.