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: Julio C. Neves
Subject: Re: [shell-script] "test -e" comportamento inesperado
Date: Sat, 26 May 2012 19:49:09 -0300

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]



reply via email to

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