Senhores, Obrigado pela ajuda, e fico até com vergonha pois erra isso mesmo Alain, eu já tinha usado diversas vezes o "&" para executar um programa e liberar o shell e agora eu tinha esquecido completamente de utiliza-lo.
Edmarssouza - Erá sim para continuar o loop, mais o script estava fazendo o loop infinito com o until do done e o que eu não estava conseguindo era executar chamadas ssh para conexão com outros servidores e logo depois de executar uma chamada ssh ele retornar para o menu independente do shell filho estar aberto, coisa que só acontecia depois de fechar o chell filho. Agora me aconteceu outro problema, pelo terminal eu executo estes programa normalmente para abrir outra instancia de shell para rodar o comando normalmente. Agora dentro do script quando faço a chamada para o comando, ele me abre uma janela e logo em seguida fecha. Eu estava utilizando o xterm sem problemas, no entanto, ele é um pouco limitado e eu gostaria de utilizar o bash que me dá mais opções. Fiz o teste com outros comandos e alguns funcionaram normal mas quando eu faço uma chamada gnome-terminal -e --command="ssh usua...@ip -p porta" &. Mesmo sem o "&" no final ele esta fechando a janela logo em seguida. Muito estranho esse comportamento. O pior não fica nada em background, é fechada mesma a janela. Um grande abraço a todos, Karin Klayton Schiochet Em Ter, 2009-01-20 às 11:56 -0200, Alain M. escreveu: > Já que todos não sabem se entenderam o que você quer, eu acho que > entendi outra coisa... > > Para executar um outro script sem interromper o atual, o outro deve > rodar "em background", para isto basta colocar um "&" (sem as aspas) > no > final da linha. O outro script começa a rodar e o atual continua > imediatamente na linha seguinte. > > Alain > > Karin Klayton Schiochet escreveu: > > 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 Tel: (91) 8121-5809