[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Carregar programa apos EXIT
From: |
leogildo_silva |
Subject: |
Re: Carregar programa apos EXIT |
Date: |
Sat, 24 Jan 2004 02:23:05 -0000 |
User-agent: |
eGroups-EW/0.82 |
Marcelo,
Não sei bem como você programa por aí, mas como todos sabem, existem
muitas formas de se chegar ao mesmo resultado, principalmente com
shell-script.
Quando comecei a caminhada no shell -- com SOX rodando debaixo do
SOD --, escrevia soluções do tipo "tudo_em_um_só_script".
Obs.: grande parte do que sei, aprendi escrevendo linhas de comandos
para execução no ambiente SOD (:FT e :FL), o que seria um primo do
nosso shell-script de hoje.
Isto gerava programas enormes, e normalmente, de dificil manutenção.
Apesar de ainda não ter (na ocasião) boa lógica, e domínio dos
recursos do ambiente, consegui simplificar os processos mudando para
o conceito de scripts modulares, e adotando para gerenciamento, o que
você chama de "programa principal".
Posteriormente fiz um curso bacana de lógica e algorítimo, o que me
ajudou, e muito, a escrever shell-scripts com muito mais facilidade.
Ao longo do tempo, trabalhei com vários SO's (Xenix, SCO Unix, Edix5,
Aix e HP-ux), e atualmente escrevo shell-scripts para ambiente
Solaris e Linux.
Antigamente eu criava os scripts, alterava os atributos para torná-
los executáveis, e mandava ver, digitava após o "prompt" o nome do
programa (script) + <ENTER>, e pronto.
Hoje prefiro trabalhar com "exec", pois acho que é a melhor opção
quando se trabalha com o modo interativo, do tipo "menu + opções".
Alguns colaboradores da lista, já deram dicas corretas sobre a
solução do seu problema, e acho que você deve revisar a sua lógica.
Creio que em qualquer linguagem, o EXIT, interrompe a execução
incondicional do programa.
No caso do seu exemplo, o EXIT encerra incondicionalmente o seu shell-
script, sem executar o "conectados.sh", obviamente.
Em algumas estruturas, o uso do RETURN pode ser mais indicado que o
EXIT, e apesar de serem parecidos, acredite, são bem diferentes.
Você cita que testou "EXIT 0 | /bin/conectados ...", e aí vai uma
dica de segurança:
Não é prudente instalar programas debaixo do /bin.
Boa Sorte!
--- Em address@hidden, "Marcelo" <marcelo@i...>
escreveu
> Manow eu realmente preciso que ele seja executado apos o "EXIT 0"
Pois apos o meu prog principal me retornar esse Valor 0 eu chamaria o
meu script conectados.sh que dah o comando RADWHO e grava num TXT os
usuarios conectados no servidor e jogo para o meu servidor de PAGINA
que eh oq eu preciso FAZER ,... mas enquando num consguir gerar o TXT
LOGO APOS a Conecção de cada cliente naum conseguirei executar as
tarefas necessarias :(
>
> Se alguem souber eu agradeço
> tentei
> EXIT 0 | /bin/conectados
>
> mas tb naum deu :(
> Valeu
> ----- Original Message -----
> From: Rodolfo Villanova - TmS Brasil
> To: address@hidden
> Sent: Friday, January 23, 2004 12:09 PM
> Subject: RES: [shell-script] Carregar programa apos EXIT
>
>
> Se tu inverter as linhas do 'exit 0' e do '/bin/conectados.sh',
não atende a
> tua necessidade?
> Se não, nunca o teu script conectados.sh vai ser executado.
>
> Por outro lado, se o teu script 'conectados.sh' precisa receber
algum sinal
> '0' ou '1', então modifica-o pra ele receber esse dado como
parâmetro:
>
> ...
> /bin/conectados.sh 0 &
> exit
> ...
>
> O sinal '&' ao final da linha é pra ele executar esse processo
> independentemente da continuidade da execução do script em que
ele foi
> chamado, que no caso será o seu término pela execução do 'exit'.
>
> -----------------
> Rodolfo Villanova
>
>
> > -----Mensagem original-----
> > De: Marcelo [mailto:marcelo@i...]
> > Enviada em: sexta-feira, 23 de janeiro de 2004 11:21
> > Para: address@hidden
> > Assunto: [shell-script] Carregar programa apos EXIT
> >
> >
> > Pessoal preciso carregar outro programa apos a execução desse
Script
> > apos o EXIT 0 preciso Chamar o programa /bin/conectados.sh mas
> > com esse EXIT 0 ele num chama pq o Exit sai do Script atual e
num
> > chama o Meu Conectados.sh
> >
> > if [ "$ALLOW" = "$1" ]; then
> > if [ $HAVE -lt $UNIT ]; then
> > exit 0
> > /bin/conectados.sh
> > else
> > exit 1
> > fi
> > fi
> > if [ "$LOGGED" = "$1" ] ; then
> > exit 1
> > else
> > exit 0
> > /bin/conectados.sh
> > fi
> > Existe alguma forma de fazer isso ???
> > Valeu pela atençao pessoal
> >
> > [As partes desta mensagem que não continham texto foram
removidas]
> >
> >
> >
> > ----------------------------------------------------------------
-----
> > 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.listasdiscussao.cjb.net
> ------------------------------------------------------------------
---
>
>
> Seu uso do Yahoo! Grupos é sujeito às regras descritas em:
> http://br.yahoo.com/info/utos.html
>
>
>
>
>
>
> ------------------------------------------------------------------
---
> 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.listasdiscussao.cjb.net
> ------------------------------------------------------------------
---
>
>
>
> Yahoo! Groups Sponsor
>
>
> Assine Nova em
> 4x s/juros de R$ 20,70 Assine Info em
> 5x s/juros de R$ 19,08
> Mais... Boa Forma Exame Você S/A
Claudia
>
>
>
>
>
> Seu uso do Yahoo! Grupos é sujeito aos Termos do Serviço Yahoo!.
>
>
> [As partes desta mensagem que não continham texto foram removidas]