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 09:48:43 -0300

Fala galera,

Dessa forama:
if [ ls -l *.[c,C][s,S][v,V] -ne 0 ] ; then

/etc/scripts/csv.sh: line 11: [: too many arguments
ls: *.[c,C][s,S][v,V]: Arquivo ou diretório não encontrado

---

quando coloco da forma abaixo o script roda, mas não executa as rotinas
desse if e continua o script, mas se digitar no shell ele retorna os
valores corretos. loucura!

if  ls -l *.[c,C][s,S][v,V]  ; then


obrigado!
abs,



2012/9/14 Emerson Domingues Souto - H2M <address@hidden>

> **
>
>
> Leonardo
>
> No primeiro if vc usou crase, por isso o if testou o resultado do comando,
> que é uma string contendo o os nomes dos arquivos encontrados
>
> No segundo if vc não usou crase, por isso o if testou o status do comando,
> que é um número sendo 0 Ok e diferente de 0 não ok.
>
> Entendeu a diferença dos 2 ifs ?
>
> Emerson Domingues Souto
>
> Tecnologia da Informação
>
> Marítima Seguros S/A
>
> De: address@hidden [mailto:
> address@hidden] Em nome de Leonardo Bacha Abrantes
> Enviada em: sexta-feira, 14 de setembro de 2012 09:25
> Para: Grupo Shell Script
> Assunto: [shell-script] Comando no teste do if
>
>
> 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]
>
>  
>


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



reply via email to

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