brigadão julio, funcionou perfeitamente.

abraços

Julio Cezar Neves - DATAPREVRJ wrote:

>Fala Marcos,
>na saída da função use return 1, que te gerará o $?=1 e não abortaá o
>processo.
>
>[ ]s,
>Julio Cezar Neves
>Tel:+55 21 2555-6148 / +55 21 8112-9988
>Fax: +55 21 2555-6154
>http://www.julioneves.com
>
>
>| -----Mensagem original-----
>| De: Marcos Braga [mailto:[EMAIL PROTECTED]
>| Enviada em: segunda-feira, 2 de janeiro de 2006 11:26
>| Para: [email protected]
>| Assunto: [shell-script] sub script
>| 
>| 
>| feliz ano novo a todos, e vamos à caça das soluções... rsssssss...
>| 
>| seguinte,
>|     criei um script para envio de mail e como tenho vários scripts a 
>| executando, separei das demais e estou chamando através de ". 
>| /caminho/mail.sh", o conteúdo é o seguinte:
>| ----- inicio do script
>| email=eMail$$.sh
>| host=`hostname -s`
>| smtp=smtp.mail.com
>| data=`LC_ALL=C date "+%a, %d %b %Y %k:%M:%S %z"`
>| 
>| enviaMail() {
>| [ -z $remetente ] \
>|     && echo nao existe remetente \
>|     && exit 1
>| [ -z $destinatario ] \
>|     && echo nao existe destinatario \
>|     && exit 1
>| echo '#!/bin/bash' > $email
>| echo -n "(" >> $email
>| echo "echo HELO $host; sleep 1" >> $email
>| echo "echo MAIL FROM: $remetente; sleep 1" >> $email
>| echo "echo RCPT TO: $destinatario; sleep 1" >> $email
>| [ ! -z "$copia" ] && echo "echo RCPT CC: $copia; sleep 1" >> $email
>| echo "echo DATA; sleep 1" >> $email
>| echo "echo User-Agent: Shell Script via Telnet" >> $email
>| echo "echo From: $remetente" >> $email
>| if [ -z "$assunto" ]; then
>|     echo "echo Subject: \"sem assunto\"" >> $email
>| else
>|     echo "echo Subject: $assunto" >> $email
>| fi
>| echo "echo Date: $data" >> $email
>| echo "echo To: $destinatario" >> $email
>| [ ! -z "$copia" ] && echo "echo Cc: $copia" >> $email
>| echo "echo \"\"" >> $email
>| echo "echo \"$anexo\"" >> $email
>| echo "echo \".\"; sleep 1" >> $email
>| echo "echo \"\"" >> $email
>| echo "echo QUIT" >> $email
>| echo ") | telnet $smtp 25" >> $email
>| chmod +x $email
>| ./$email >/dev/null 2>/dev/null
>| rm -f $email
>| }
>| -----
>| 
>| bom, como podem perceber, no início da função, verifico se existe 
>| remetente e destinatário, caso o script não encontre essas variáveis, 
>| ele aborta (exit 1) e dá uma mensagem de erro (nao existe 
>| remetente), o 
>| meu problema é que tentei usar o break para não finalizar a 
>| execução dos 
>| outros scripts no meio do processo, pois se eu utilizo o 
>| exit, o script 
>| aborta por completo não finalizando o restante dos processos somente 
>| porque não enviou o mail.
>| 
>| alguém já passou por algo parecido e teve que adotar alguma 
>| solução que 
>| possa me dar uma luz ?
>| 
>| agradeço,
>| marcos braga
>



---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação, como 
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
aviso.
---------------------------------------------------------------------
Sair da lista: [EMAIL PROTECTED]
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em 
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 


Responder a