shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Dúvida "Script que marca hora"?


From: jimmy
Subject: Re: [shell-script] Dúvida "Script que marca hora"?
Date: Mon, 15 Sep 2008 10:24:49 -0300
User-agent: Mutt/1.4.2.3i

testei o seu escript, não conhecia o uso na prática do '=~', achava que
só existia no perl e similares;

bom a única alteração que fiz foi na linha:

if [[ $Hora =~ "([01][0-9]|2[0-3]):[0-5][0-9]" ]]

fechei a string de comparação entre aspas, e rodei os seus testes:

$ sh -x hora 23:00
+ Hora=23:00
+ [[ 23:00 =~ ([01][0-9]|2[0-3]):[0-5][0-9] ]]
+ echo Hora Certa
Hora Certa

$ sh -x hora 23:59
+ Hora=23:59
+ [[ 23:59 =~ ([01][0-9]|2[0-3]):[0-5][0-9] ]]
+ echo Hora Certa
Hora Certa

$ sh -x hora 24:00
+ Hora=24:00
+ [[ 24:00 =~ ([01][0-9]|2[0-3]):[0-5][0-9] ]]
+ echo Hora Invalida
Hora Invalida



On Sat, Sep 13, 2008 at 09:51:24PM -0700, Klaus Jurgen Friedrich wrote:
> Eu estou aprendendo programação shell script e estou estudando o livro:
> Programação Shell Linux do Julio Cezar Neves.
> 
> Encontrei uma questão que me gerou uma dúvida, que é um programa que informa
> se a hora é valida ou invalida.
> 
> ###############################################
> 
> #!/bin/bash
> 
> Hora=$1
> 
> # A hora começa com 00 à 19 ou de 20 à 23  e  termina  de :00 à 59
> if [[ $Hora =~ ([01][0-9]|2[0-3]):[0-5][0-9] ]]
> then
>     echo Hora Certa
> else
>     echo Hora Invalida
> fi
> 
> Eu dei o nome de "hora" ao script, olhe o exemplo.
> 
> $ ./hora 23:00
> Hora Certa
> 
> $ ./hora 23:59
> Hora Certa
> 
> Até aqui tudo bem, agora olhem isso.
> 
> $ ./hora 24:00
> Hora Certa
> 
> A  hora só deveria começar com 00 e ir até 23, olhem isso.
> [01][0-9]|2[0-3]
> 
> Porque quando eu coloquei 24:00 marcou "Hora Certa" se pela expressão só
> deveria ir até 23:59 e a meia noite marcar 00:00 ?
> 
> Quando eu coloco de 24:01 em diante marca "Hora Invalida", ai tudo bem, está 
> dentro da lógica.
> 
> Agradeço antecipadamente a quem se dispor a esclarecer a minha dúvida.
> 
> 
> 
> 
>       Novos endereços, o Yahoo! que você conhece. Crie um email novo com a 
> sua cara @ymail.com ou @rocketmail.com.
> http://br.new.mail.yahoo.com/addresses
> 
> [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
> ---------------------------------------------------------------------
> Servidor Newsgroup da lista: news.gmane.org
> Grupo: gmane.org.user-groups.programming.shell.brazil
> 
> Links do Yahoo! Grupos
> 
_______________________________________________________________________________


reply via email to

[Prev in Thread] Current Thread [Next in Thread]