Portanto:
[[ "$myip" =~ ^([1-9][0-9]?|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.([0-9][0-9]?\.|1[0-9]{2}\.|2[0-4][0-9]\.|25[0-5]\.){2}([0-9][0-9]?|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ ]] && echo -e "\n $myip é um IP VáLIDO" || echo -e "\n $myip é INVáLIDO"
Att.:
marcelo oliver
to tentando entende-lo, mas está dificil kkkk porque preciso adicionar a porta que esqueci de mencionar, tipo 138.158.102.145:8080, mas não to conseguindo, não consigo entender o padrão desse REGEX.
Daria para fazer assim, acho mais simples, mas agora entendi o jeito que você kkkkk você quer validar dentro do padrão ip, pdc, vou usar assim
if [[ "$var" =~ ^([0-9]{3,}|[0-9]{2,}|[0-9]{1,})\.([0-9]{3,}|[0-9]{2,}|[0-9]{1,})\.([0-9]{3,}|[0-9]{2,}|[0-9]{1,})\.([0-9]{3,}|[0-9]{2,}|[0-9]{1,})\:([0-9]{5,}|[0-9]{4,}|[0-9]{3,}|[0-9]{2,}|[0-9]{1,})$ ]];then
echo "valido"
fi
4. Re: Validar opção do case [RESOLVIDO]
msoliverusa Debian
Post recolhido
Enviado em 13/02/2017 - 23:04h
yuttttttt escreveu:
msoliver escreveu:
yuttttttt escreveu:
Como faço para validar uma opção do case, estou querendo validar se o que o usuario digitou no campo read é um ip.
exemplo:
read myip
case $myip in
([0-999]).([0-999]).([0-999]).([0-999]))echo "$myip é um ip"
;;
*)echo "digite seu ip corretamente"
;;
esac
Portanto:
[[ "$myip" =~ ^([1-9][0-9]?|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.([0-9][0-9]?\.|1[0-9]{2}\.|2[0-4][0-9]\.|25[0-5]\.){2}([0-9][0-9]?|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ ]] && echo -e "\n $myip é um IP VáLIDO" || echo -e "\n $myip é INVáLIDO"
Att.:
marcelo oliver
to tentando entende-lo, mas está dificil kkkk porque preciso adicionar a porta que esqueci de mencionar, tipo 138.158.102.145:8080, mas não to conseguindo, não consigo entender o padrão desse REGEX.
Daria para fazer assim, acho mais simples, mas agora entendi o jeito que você kkkkk você quer validar dentro do padrão ip, pdc, vou usar assim
if [[ "$var" =~ ^([0-9]{3,}|[0-9]{2,}|[0-9]{1,})\.([0-9]{3,}|[0-9]{2,}|[0-9]{1,})\.([0-9]{3,}|[0-9]{2,}|[0-9]{1,})\.([0-9]{3,}|[0-9]{2,}|[0-9]{1,})\:([0-9]{5,}|[0-9]{4,}|[0-9]{3,}|[0-9]{2,}|[0-9]{1,})$ ]];then
echo "valido"
fi
Boa noite.
Pode ser com o "if",
A sintaxe que usei, é um "modo reduzido" do "if".
Quanto a porta, é só inclui-la no final da REGEX:
[[ "$myip" =~ ^([1-9][0-9]?|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.([0-9][0-9]?\.|1[0-9]{2}\.|2[0-4][0-9]\.|25[0-5]\.){2}([0-9][0-9]?|1[0-9]{2}|2[0-4][0-9]|25[0-5]):8080$ ]] && echo -e "\n $myip é um IP VáLIDO" || echo -e "\n $myip é INVáLIDO"
SIMPLIFICANDO a REGEX:
Usamos cookies essenciais para manter o site funcionando e Google Analytics para métricas de audiência. Cookies de anúncios só serão carregados se você permitir.