Valeu Edinho, já alterei aqui.
[]'s Alexandre Gorges http://www.google.com.br/profiles/algorges MSN/Gtalk/iCHAT/Skype/Jabber: [email protected] ICQ: 2031408 From: Edinho Almeida <[email protected]> Reply-To: Lista Shell Script <[email protected]> Date: Mon, 15 Mar 2010 12:07:31 -0300 To: Lista Shell Script <[email protected]> Subject: Re: [shell-script] Re: Problema com o IF 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 <[email protected] <mailto:algorges%40gmail.com> > > > > 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: [email protected] <mailto:algorges%40gmail.com> <algorges%40gmail.com> > ICQ: 2031408 > > From: felipe_rmaia <[email protected] <mailto:felipe_rmaia%40yahoo.com.br> <felipe_rmaia%40yahoo.com.br> > > > Reply-To: Lista Shell Script <[email protected] <mailto:shell-script%40yahoogrupos.com.br> <shell-script%40yahoogrupos.com.br> > > > Date: Mon, 15 Mar 2010 14:16:47 -0000 > To: Lista Shell Script <[email protected] <mailto:shell-script%40yahoogrupos.com.br> <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 > [email protected] <mailto:felipe_rmaia%40yahoo.com.br> <felipe_rmaia%40yahoo.com.br> <mailto: > felipe_rmaia%40yahoo.com.br <felipe_rmaia%2540yahoo.com.br>> > > --- Em [email protected] <mailto:shell-script%40yahoogrupos.com.br> <shell-script%40yahoogrupos.com.br> > <mailto:shell-script%40yahoogrupos.com.br<shell-script%2540yahoogrupos.com.br>> > , Alexandre Gorges <algor...@...> > 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: algor...@... > > 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] [As partes desta mensagem que não continham texto foram removidas]
