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

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

Re: [shell-script] Re: Problema com o IF


From: Edinho Almeida
Subject: Re: [shell-script] Re: Problema com o IF
Date: Mon, 15 Mar 2010 12:07:31 -0300

Oi Alexandre,
Eu colocaria redirecionamento de erro por se não houver nenhum arquivo dá um
erro de script.

if [ "$(ls -1 /emails/*-teste3.com.br.conf)" ]; then echo existe; else echo
nao e da erro"; fi

if [ "$(ls -1 /emails/*-teste3.com.br.conf 2>/dev/null)" ]; then echo
existe; else echo nao sem dar erro; fi


Abs
Edinho Almeida
11 8018-8019


2010/3/15 Alexandre Gorges <address@hidden>

>
>
> Obrigado a todos pelas sugestões. Usei a dica do Eri Ramos Bastos. Deu
> certo
> !
>
> []'s
> Alexandre Gorges
> http://www.google.com.br/profiles/algorges
> MSN/Gtalk/iCHAT/Skype/Jabber: address@hidden <algorges%40gmail.com>
> ICQ: 2031408
>
> From: felipe_rmaia <address@hidden<felipe_rmaia%40yahoo.com.br>
> >
> Reply-To: Lista Shell Script 
> <address@hidden<shell-script%40yahoogrupos.com.br>
> >
> Date: Mon, 15 Mar 2010 14:16:47 -0000
> To: Lista Shell Script <address@hidden<shell-script%40yahoogrupos.com.br>
> >
> Subject: [shell-script] Re: Problema com o IF
>
> Bom dia Alexandre.
>
> Acredito não ser possível fazer o teste condicional da forma que você está
> querendo. Pois o "*" (asterisco) está colocando todos os arquivos
> existentes
> como argumentos para o teste condicional, causando assim um erro de
> sintaxe.
>
> Uma forma simples que resolveria o seu problema é:
>
> if $(ls /emails/*-teste3.com.br.conf 1>/dev/null 2>&1) ; then echo existe;
> else echo nao; fi
>
> Assim você testaria o valor de retorno do comando "ls", que retornaria um
> valor falso caso não encontrasse qualquer arquivo com a expressão sugerida.
>
> Obs: o valor de retorno de qualquer comando utilizado no shell é armazenado
> na variável "$?". Logo, este valor pode ser exibido com o comando "echo
> $?".
>
> Felipe Rodrigues Maia
> address@hidden <felipe_rmaia%40yahoo.com.br> <mailto:
> felipe_rmaia%40yahoo.com.br <felipe_rmaia%2540yahoo.com.br>>
>
> --- Em address@hidden <shell-script%40yahoogrupos.com.br>
> <mailto:shell-script%40yahoogrupos.com.br<shell-script%2540yahoogrupos.com.br>>
> , Alexandre Gorges <algorges@...>
> escreveu
> >
> > Bom dia Lista,
> >
> > Estou com um problema no if.
> > Montei um if assim:
> >
> > if [ -f /emails/*-teste3.com.br.conf ] ; then echo existe; else echo nao;
> fi
> >
> > Se existe apenas um arquivo no diretório funciona. Quando existe mais
> > arquivos da erro de too many arguments.
> > Dentro do diretório existe arquivos nessa forma
> >
> > alo-teste3.com.br.conf
> > asa2-teste3.com.br.conf
> > edson-teste3.com.br.conf
> > teste333-teste3.com.br.conf
> >
> > Como posso fazer o if tratar se tiver mais de um arquivo?
> >
> >
> > []'s
> > Alexandre Gorges
> > http://www.google.com.br/profiles/algorges
> > MSN/Gtalk/iCHAT/Skype/Jabber: algorges@...
> > ICQ: 2031408
> >
> >
> >
> >
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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