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

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

saida de funções


From: Marcos Braga
Subject: saida de funções
Date: Tue, 17 Jan 2006 19:51:40 -0400
User-agent: Mozilla Thunderbird 1.0.7 (Windows/20050923)

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Pessoal, eis um problema pelo qual não havia passado.

após muito batalhar, resolvi consultar ajuda, pois não encontrei nada
parecido.

criei o seguinte script para atualizar regras de um servidor squid, com
várias funções, todas funcionando perfeitamente.

o problema é que estou direcionando toda saída das funções para um
arquivo texto (para enviar um mail de retorno), mas não vai..., recebo
um mail vazio. o arquivo texto não recebe nada e tudo aparece no stdout.

alguém sabe o que posso estar fazendo de errado????

encaminho o script para análise (ele funciona perfeitamente).

qualquer dúvida, podem mandar..

abraços,
marcos braga


- ----- inicio do script -----
#!/bin/bash
#versao: 2006011722

# importanto o envio de mails
. /usr/local/bin/mail.sh

script=atualiza
versao=versao.txt
mensagem=/tmp/$script$$.msg
# dados para enviar e-mail
remetente=address@hidden
destinatario=address@hidden
assunto="$(hostname -s): $script"

#--dados do servidor ftp
quem=usuario
como=senha
onde=servidor_ftp

temp=/tmp/remoto
mkdir -p $temp
home=/etc/squid/regras
arquivos="ipsliberados sitespermitidos"

pegaArquivo() {
arquivo=${1}
wget ftp://$quem:$como@$onde/$arquivo
}

atualizaVersao() {
arquivo=${1}
mv -v --reply=yes $arquivo $home/$arquivo
}

comparaVersao() {
arquivo=${1}
versaoatual=`grep versao $home/$arquivo | awk '{print $2}'`
versaonova=`grep $arquivo $versao | awk '{print $3}'`
if [ $versaoatual -lt $versaonova ]; then
        pegaArquivo $arquivo
        atualizaVersao $arquivo
fi
}

#--aqui está o meu problema, toda saída
# não vai para o arquivo $mensagem e sim
# para o stdout
#--
# atualizando...
cd $temp
pegaArquivo $versao >$mensagem

for arq in $arquivos; do
        comparaVersao $arq >>$mensagem
done

squid -k reconfigure >>$mensagem

# finalizando
anexo=`cat $mensagem` && rm -f $mensagem
enviaMail
rm -rf $temp >/dev/null 2>/dev/null
- ----- fim do script -----
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (MingW32)

iD8DBQFDzYMM+0NSOfDHfxkRAkSpAJ9qaY5PpIC8jkdhVgOAOFUFlVs+XACg9CHN
Lz3GUCfWm2Ir6kKndM+UD0E=
=tXf+
-----END PGP SIGNATURE-----


reply via email to

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