[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RES: [shell-script] sub script
From: |
Julio Cezar Neves - DATAPREVRJ |
Subject: |
RES: [shell-script] sub script |
Date: |
Mon, 2 Jan 2006 12:58:17 -0200 |
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:address@hidden]
| Enviada em: segunda-feira, 2 de janeiro de 2006 11:26
| Para: address@hidden
| 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: address@hidden
| ---------------------------------------------------------------------
| Esta lista é moderada de acordo com o previsto em
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Links do Yahoo! Grupos
- RES: [shell-script] sub script,
Julio Cezar Neves - DATAPREVRJ <=