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

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

Re: [shell-script] ajuda


From: Wagner Macedo
Subject: Re: [shell-script] ajuda
Date: Wed, 13 Apr 2011 21:41:29 -0300

Grande Júlio e suas aulas :)

Mas, só um detalhe no que você postou, Júlio, para quem testar não ficar
doido procurando o bug:

Ele usou [ $? -ne 0 ], portando o comando deve ser ! fuser -k $f, com a
exclamação, para negar o resultado.

--
Wagner Macedo


2011/4/13 Julio C. Neves <address@hidden>

>
>
> Fala Adolfo,
> sempre que vc olhar um script e existir um $? desconfie que não está
> otimizado. 90% das vezes não está e a causa é a idêntica à que vc fez.
>
> No shell o if não testa condição. Quem testa condição é o cmd test, cujo
> alias vc usou ([ $? -ne 0 ] é exatamente o mesmo que test $? -ne 0). O if
> do
> shell testa comandos e foi o que vc fez: testou o cmd test. Ficaria mais
> otimizado se vc testasse direto o fuser, da seguinte forma:
>
> for f in *
> do
> if fuser -k $f
>
> then
> echo Arquivo $f nao esta em uso ## Coloque aqui o comando
> para compactar.
> else
> echo Arquivo $f esta em uso
> fi
> done
>
> Resolvi escrever isso não foi para te corrigir, mas para dar uma dica na
> lista, já que é muito normal se ver esta construção pouco elegante.
>
> Para vc testar o que estou falando, execute as linhas de comandos a seguir
> em um diretório que tenha muitos arquivos e observe a diferença entre os
> tempos:
>
> time for f in *
> do
> if fuser -k $f
> then
> :
> else
> :
> fi
> done
> ======================================
> time for f in *
>
> do
> fuser -k $f
> if [ $? -ne 0 ]
> then
> :
> else
> :
> fi
> done
>
> Abraços,
>
> Julio
>


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



reply via email to

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