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

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

Re: [shell-script] Comando no teste do if


From: Leonardo Bacha Abrantes
Subject: Re: [shell-script] Comando no teste do if
Date: Fri, 14 Sep 2012 16:27:19 -0300

Fala galera!

obrigado pela força!

abs,


2012/9/14 Julio C. Neves <address@hidden>

> Leonardo, o cmd if do shell é muito forte e seu uso é totalmente diferente
> dos ifs caretas que vc vê por ai. Se vc quiser entendê-lo (e acho que vc
> deveria), leia o final do Papo de Botequim
> 3<http://wiki.softwarelivre.org/TWikiBar/TWikiBarPapo003#O_Comando_if>e
> o Papo
> de Botequim 4<
> http://wiki.softwarelivre.org/TWikiBar/TWikiBarPapo004#O_Comando_test>
> .
>
> Lá vc verá que o if testa instruções e não condições e por isso fazer if [
> $? ... ] em 99% dos casos e desnecessário (no entanto é o que vc mais vê na
> vida real). Verá tb que a construção [...] no duro é o cmd test então qdo
> vc usa if [...], o que vc está fazendo é usando o if para testar a saída co
> cmd test.
>
> Ora, se vc deseja testar o ls, é só fazê-lo direto, isto é,
>
> if ls -l *.[c,C][s,S][v,V]; then
>
> Só que se houver algum arquivo, este arquivo será listado e se não houver,
> será dado um errpo. Então essa linha deveria ser:
>
> if ls -l *.[c,C][s,S][v,V] > /dev/null 2>&1; then
>
> Recomendo no entanto, que a solução seja algo como:
>
> ls * | grep -qi \.csv$ || echo não existem arquivos csv
>
> Abcs,
> Julio
>
> *
> *
>
>
>
> Em 14 de setembro de 2012 09:24, Leonardo Bacha Abrantes <
> address@hidden> escreveu:
>
> > **
> >
> >
> > Bom dia pessoal,
> >
> > estou fazendo um script e preciso testar se existem arquivos .csv em uma
> > pasta, então fiz o seguinte teste:
> >
> > if [ `ls -l *.[c,C][s,S][v,V]` -ne 0 ] ; then
> >
> > isso não funcionou, retornando sempre o erro:
> > /etc/scripts/csv.sh: line 12: [: too many arguments
> >
> > então resolvi da forma abaixo, mas queria saber pq o teste acima não
> > funcionou.
> >
> > ls -l *.[c,C][s,S][v,V] 2> /dev/null
> > if [ $? -ne 0 ] ; then
> >
> > --
> >
> > outra pergunta, ao invés de -ne não poderia ser != ?
> >
> > obrigado!
> > []'s
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
>
>
> [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
>
>
>


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



reply via email to

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