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 <karinklay...@gmail.com> > 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 > karinklay...@gmail.com <karinklayton%40gmail.com> > Tel: (91) 8121-5809 > > > [As partes desta mensagem que não continham texto foram removidas]