[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: liberar aplicação shell para outras opções
From: |
edmarssouza |
Subject: |
Re: liberar aplicação shell para outras opções |
Date: |
Tue, 20 Jan 2009 05:34:13 -0000 |
User-agent: |
eGroups-EW/0.82 |
E ai cara, blz?
Não sei se lhe entendi mais se você quer, voltar para um loop logo
após ter executado uma opção, use o "while" para fazer o loop
infinito e o "continue" para permite voltar ao "while". Vou
implementar um exemplo para que você tenha idéia do script:
#!/bin/bash
# Essa linha faz o loop infinito, para sair desse loop use break ou
exit
while :; do # se você quiser use: while true; do, dá na mesma
clear
echo "1 - Para imprime bom dia"
echo "2 - Para imprime boa tarde"
echo -e "3 - Para imprime boa noite\n"
echo -e "5 - Para sair\n"
read -p "Escolha uma das opções: " X
case "$X" in
[1]) echo "Bom dia"; sleep 3; clear; continue ;;
[2]) echo "Boa tarde"; sleep 3; clear; continue ;;
[3]) echo "Boa noite"; sleep 3; clear; continue ;;
[5]) exit 1 ;;
*) echo "Opção invalida" ; sleep 2; clear ;
continue ;;
esac
done
O "continue" faz você volta para o começo do loop atual. Tem tbm
o "break" ele faz você sair do loop atual, pulando para o primeiro
done que encontrar. Por exemplo, se tiver dois while ele irá voltar
para o primeiro while e não para o segundo.
Umas dicas: Prefira usar função quando você for usar um mesmo código
duas ou mais vezes. E use identação para que seu código fique mais
legível por outras pessoas. São só dicas. Não level mal, por favor.
Depois posta ai para sabermos se deu tudo certo. Espero ter ajudado,
até mais.
Edmar de Souza Prado
--- Em address@hidden, "Julio C. Neves"
<julio.neves@...> escreveu
>
> while true
> do
> menu
> if condição
> then
> break
> fi
> done
>
> É isso????
> --
> Abração,
> Julio
> *Cursos de Shell e Zenity nos finais de semana:
> - Em SP ligue (11) 2125-4747;
> - Em DF ligue (61) 3223-3000;
> - Turmas fechadas em outras cidades ligue (21) 8112-9988*
>
> 2009/1/20 Karin Klayton Schiochet <karinklayton@...>
>
> > Senhores,
> >
> > Depois de montar um script simples para facilitar as manutenções
em
> > clientes apareceu uma dúvida que não sei se é possível fazer já
que o
> > scripts em shell seguem o padrão de execução em "lote" vamos dizer
> > assim.
> >
> > tenho um script que lista os servidores que preciso acessar
remotamente
> > e de acordo com a opção ele chama outro shell passando os
parâmetros
> > para acessar o servidor via ssh. Eu gostaria que após fazer esse
> > chamado, o shell principal retornasse ao menu principal e fosse
possível
> > caso necessário chamar outras opções.
> >
> > A minha dúvida é se é possível retornar a execução do script sem
ter que
> > terminar o sessão aberta com o novo shell para que ele possa
retornar ao
> > menu.
> >
> > O script é basicamente este que está abaixo
> >
> > ############################################
> > #!/bin/bash
> > #
> > #-------------------- VARIAVEIS --------------------
> > #
> > #----------------- SERVERS XXXXXXXXX ----------------
> > IPSRV1=XXX.XXX.XXX.XXX
> > IPSRV2=XXX.XXX.XXX.XXX
> > NAMESRV1=XXXXXX
> > NAMESRV2=XXXXXX
> >
> > #---------------- SERVERS YYYYYYY---------------
> > SRVFW=YYY.YYY.YYY.YYY
> > NAMESRV1=YYYY
> > SRVPX=YYY.YYY.YYY.YYY
> > NAMEPX2=yyyyyyyy
> > SRV3=YYY.YYY.YYY.YYY
> > NAMESRV3=YYYYYY
> >
> > #------------------ SERVERS ZZZZZZZZZ -----------------
> > IPSRV1=ZZZ.ZZZ.ZZZ.ZZZ
> > NAMESRV1=ZZZZZZ
> >
> > # E assim vai
> > ........
> > ........
> > ........
> > ........
> > # Termina variáveis
> >
> > #----------------------- MENU ----------------------
> > menu()
> > {
> > clear
> > exit=9
> >
> > until [ "$X" == "$exit" ]; do
> >
> > echo "---------------------------------------------------"
> > echo "| |"
> > echo "| Gerenciador de conexões ssh - EMPRESA |"
> > echo "| `date --date "0 day ago" +%d/%m/%Y`
> > |"
> > echo "---------------------------------------------------"
> > echo
> > echo "1 - FIREWALL XXXXXXXXXX ($NAMESRV1)"
> > echo "2 - PROXY XXXXXXXXXX (NAMESRV2)"
> > echo "3 - FIREWALL YYYYYYYY ($NAMESRV1)"
> > echo "4 - FIREWALL ZZZZZZZZ ($NAMESRV1)"
> > echo
> > echo "9 - Sair"
> > echo
> > echo -e "Escolha uma das opções: \c"
> > read X
> > echo
> >
> > case "$X" in
> >
> > 1) echo "Acessando o FIREWALL da XXXXXXXXXX ($SRVFW)"
> > gnome-terminal --window -t "EMPRESA - TITULO" --command='ssh
usuario@
> > $SRVFW -p porta'
> > ;;
> >
> > 2) echo "Acessando o PROXY da YYYYYY ($SRVPX)"
> > gnome-terminal --window -t "EMPRESA - TITULO" --command='ssh
usuario@
> > $SRVPX -p porta'
> > ;;
> >
> > 3) echo "Acessando o FIREWALL da ZZZZZZZZ ($IPSRV1)"
> > gnome-terminal --window -t "EMPRESA - TITULO" --command='ssh
usuario@
> > $IPSRV1 -p porta'
> > ;;
> >
> > 9) echo "FINALIZANDO O SCRIPT..."
> > sleep 1
> > exit 1
> > ;;
> >
> > *) echo "Opção desconhecida!!!"
> > sleep 2
> > clear;
> > ;;
> >
> > esac
> > done
> > }
> > menu
> > ############################################
> >
> > Estou usando CentOS com gnome por isso uso o gnome-terminal.
Gostaria de
> > saber se é possível após escolher uma opção o script retorne para
o menu
> > e eu possa fazer outras opções.
> >
> > Um grande abraço a todos e desde já agradeço a contribuição.
> >
> > --
> > Karin Klayton Schiochet
> > Administrador de Redes
> > karinklayton@... <karinklayton%40gmail.com>
> > Tel: (91) 8121-5809
> >
> >
> >
>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
- liberar aplicação shell para outras opções, Karin Klayton Schiochet, 2009/01/19
- Re: [shell-script] liberar aplicação shell para outras opções, Julio C. Neves, 2009/01/19
- Re: [shell-script] liberar aplicação shell para outras opções, Alain M., 2009/01/20
- Re: [shell-script] liberar aplicação shell para outras opções, Karin Klayton Schiochet, 2009/01/20
- Re: [shell-script] liberar aplicação shell para outras opções, Randolph Chaves, 2009/01/20
- Re: [shell-script] liberar aplicação shell para outras opções, Alain M., 2009/01/20
- Re: [shell-script] liberar aplicação shell para outras opções, Karin Klayton, 2009/01/20
- Re: [shell-script] liberar aplicação shell para outras opções, Karin Klayton Schiochet, 2009/01/22
- Re: [shell-script] liberar aplicação shell para outras opções, Alain M., 2009/01/22
- Re: [shell-script] liberar aplicação shell para outras opções, Karin Klayton Schiochet, 2009/01/22
- Re: [shell-script] liberar aplicação shell para outras opções, Alain M., 2009/01/23
- Re: liberar aplicação shell para outras opções, Heitor, 2009/01/23