Que tal utilizar expressões regulares ?
[[ "16112005" =~ '([012][0-9]|3[01])(0[1-9]|1[012])[0-9]{4}' ]] && echo "ok"
Em 17/11/05, Fabricio Lopes de Souza <address@hidden> escreveu:
no meu exemplo :
dia invalido é maior que 31 ou menor que 1
mes invalido é maior que 12 ou menor que 1
ano invalido é menor que 2000 e maior que 2005
pode fazer as modificações que quiser , pode até ver os meses que tem
30,31 dias e talz ... mas fica aqui um exemplo bem simples
//---------------------
#!/bin/bash
read -p "Digite a Data ( ddmmaaaa ) : " data
if [[ ${data:0:2} -gt 31 || ${data:0:2} -lt 1 ]] ; then
echo "Dia Invalido"
exit 1
else
if [[ ${data:2:2} -gt 12 || ${data:2:2} -lt 1 ]] ; then
echo "Mes Invalido"
exit 1
else
if [[ ${data:4:4} -gt 2005 || ${data:4:4} -lt
2000 ]] ; then
echo "Ano Invalido"
exit 1
fi
fi
fi
echo "Data ok!"
//----------------------------------------------------------------
---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação, como
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio
aviso.
---------------------------------------------------------------------
Sair da lista: address@hidden
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
*Yahoo! Grupos, um serviço oferecido por:* PUBLICIDADE
<http://br.rd.yahoo.com/SIG=12fndpua8/M=380335.7481167.8369105.2369893/D=brclubs/S=2137111254:HM/Y=BR/EXP=1132230895/A=3126093/R=2/id=noscript/SIG=12c39trgo/*http://ad.br.doubleclick.net/clk;22846485;12120066;a?http://www.hoteis.com>
------------------------------
*Links do Yahoo! Grupos*
- Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/
- Para sair deste grupo, envie um e-mail para:
address@hidden<address@hidden?subject=Unsubscribe>
- O uso que você faz do Yahoo! Grupos está sujeito aos Termos do
Serviço do Yahoo! <http://br.yahoo.com/info/utos.html>.
[As partes desta mensagem que não continham texto foram removidas]
---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação, como
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio
aviso.
---------------------------------------------------------------------
Sair da lista: address@hidden
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Links do Yahoo! Grupos