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

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

Re: [shell-script] "test -e" comportamento inesperado


From: Marcelo Neto
Subject: Re: [shell-script] "test -e" comportamento inesperado
Date: Sun, 27 May 2012 02:00:12 -0300

Usar aspas para proteger uma variável é sempre bom.. Pois às vezes pode vir
algo diferente do q esperamos.

Marcelo Neto
(85) 8886.5730
(85) 9681.5277
Em 26/05/2012 19:49, "Julio C. Neves" <address@hidden> escreveu:

> Jorge,
> veja essa sequência
>
> $ > "São Paulo"   # Cria arquivo chamado São Paulo
> $ Arq="São Paulo"
> $ if [ -s $Arq ]; then echo $Arq tem dado; else echo $Arq ñ existe ou está
> vazio; fi
> bash: [: São: esperado operador binário
> São Paulo ñ existe ou está vazio
>
> Isso aconteceu pq após a variável $Arq ser substituída pelo Shell, o que
> foi executado foi:
>
> if [ -s São Paulo ]
>
> Ou seja ele imaginou que o nome do arquivo fosse São e gerou o erro, já que
> esse arquivo não existe. O que vc deveria ter feito era:
>
> if [ -s "São Paulo" ]
>
> E isso se faz assim:
>
> $ if [ -s "$Arq" ]; then echo $Arq tem dado; else echo $Arq ñ existe ou
> está vazio; fi
> São Paulo ñ existe ou está vazio
> $ echo Gol > São\ Paulo
> $ if [ -s "$Arq" ]; then echo $Arq tem dado; else echo $Arq ñ existe ou
> está vazio; fi
> São Paulo tem dado
>
> É assim que se descobre se um arq está vazio ou se ele tem dado. O São
> Paulo, agora tem dado...
>
> Abcs,
> Julio
>
> *
> *
>
>
>
> Em 26 de maio de 2012 16:08, Jorge Barros de Abreu
> <address@hidden>escreveu:
>
> > **
> >
> >
> > Olá
> >
> > O trecho de código abaixo está falhando quando $1 é algo como "Jogo
> > neimar-1.pdf"
> >
> > if ! test -e $1
> > then
> > echo "O arquivo $1 não existe"
> > ERRO="1"
> > fi
> >
> > O arquivo existe mas ele está dizendo que não existe.
> >
> > ?Existe alguma outra forma de fazer esse teste e que contorne esse
> > problema?
> >
> > Obrigado
> >
> > --
> > Data Estelar 2456074,401019
> > http://sites.google.com/site/ficmatinf
> > Desejo-lhe Paz, Vida Longa e Prosperidade.
> > São Bem Vindas Mensagens no Formato texto UTF-8 com Acentos.
> >
> >
>
>
> [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]