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

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

Re: [shell-script] Formatação nos scripts


From: Alain M.
Subject: Re: [shell-script] Formatação nos scripts
Date: Tue, 05 Aug 2008 11:32:43 -0300
User-agent: Thunderbird 2.0.0.6 (X11/20070728)

Oi MrBiTS,

no exemplo citado, acho que a enfase era sobre o uso de parentesis no comando "(" ")"
<code>
(
echo1
) >> arq.log
</code>

Em todos casos, essa parte que chamou minha atenção e gostaria de entender melhor: -> isso vai executar todo o conteúdo ds parentesis e depois jogar a saída para o arquivo?
-> roda tudo num outro environment?

grato,
Alain
PS: respondi no topo pois acho que esta mensagem é independente da anterior e a usa apens como referencia...


| Log Eficiente
| (
| echo "Iniciando em $(date)"
| rm -vr /tmp/becape/*
| ~/bin/meu-becape.sh --tudo
| echo "Tamanho do becape: $(du -hs /tmp/becape)"
| echo "Terminado em $(date)"
| ) >> /tmp/log.txt
|
| simples assim ? AFFFF... KISS na veia...vou reescrever muito... :(
| algum mestre pode apontar algum efeito colateral desastroso desta técnica ?
| Obrigado.

Desatroso, não, mas eu acho mais elegante fazer assim:

<code>
SCRIPTNAME=$(basename $0 .sh)
TIMESTAMP=$(date +%H%M%S)
TRACEFILE=z2_${SCRIPTNAME}.trc
if [ -f "${TRACEFILE}" ]; then
~        # Movendo Log para ${TRACEFILE}_${TIMESTAMP}
~        mv ${TRACEFILE} ${TRACEFILE}_${TIMESTAMP}
fi
echo "LOG: ${TRACEFILE}"
exec 1>> ${TRACEFILE} 2>&1
</code>

Simplesmente tudo o que o script fizer do exec para frente será armazenado em 
${TRACEFILE}. Além disso, o log anterior será salvo,
para efeitos de comparação.

O ideal é que esse trecho de código seja o primeiro a ser executado. Para isso, 
acostume-se a utilizar templates e insira isso neles.

Colocando esse trecho no início dos seus scripts e utilizando um comando simples para 
substituir tudo o que possuir >> e terminar
com .log ( por exemplo ), acredito que você diminua a reescrita do seu programa.

O vim possui um plugin chamado bash-support, que já possui alguns templates 
prontos. Vale o estudo.



reply via email to

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