그것은 바로 내가 한 일이다.
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도 일치합니다.