[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] administrando servidor
From: |
Tiago Barcellos Peczenyj |
Subject: |
Re: [shell-script] administrando servidor |
Date: |
Mon, 24 Jul 2006 14:56:47 -0300 |
olha, achei o uso que vc faz de while read um pouco confudo, de uma
olhada nesse caso:
#!/bin/bash
while :
do echo '###########################
Selecione uma opcao do menu
###########################
P) Pesquisa
S) Sair'
read -p " > " OPCAO
case "${OPCAO}" in
P|p) usuario=default
while :
do read -p "Qual usuario pesquisar? " usuario
[ "${usuario}" ] || break;
echo "vc escolheu ${usuario}"
done
;;
S|s) echo "Saindo"
break
;;
*) echo "Opcao invalida"
#exit 1
;;
esac
done
Explicação - while : é um laço 'infinito' que vc só sai com a
instrução break, por exemplo. no caso temos 2, um para o loop geral,
com as opções do menu, para sair apenas com S (ou s) e outro para a
pesquisa (o seu while read usuario parece indicar que vc quer
pesquisar um monte de gente de uma vez só).
Ainda ficou clean e funcional =) Só falta funcionar.
On 7/24/06, Thiago Germano Beier <address@hidden> wrote:
administrando servidor
pessoal o script abaixo e composto por menus mas quando o faco um
laco dentro CASE ele fica preso no laco do CASE e nao sai mais a nao
ser com CTRL+C
## codigo ##
#!/bin/bash
clear
# mostra opcoes
while
echo ""
echo "###########################"
echo "Selecione uma opcao do menu"
echo "###########################"
echo ""
echo "1) Opcao 1"
echo "2) Opcao 2"
echo "3) Opcao 3"
read OPCAO
do
# testa a valida rsposta das opcoes
case $OPCAO in
1)
clear
echo "vc escolheu1"
echo "Qual usuario pesquisar?"
while read usuario
do
echo $usuario
done
exit
;;
2)
clear
echo "vc escolheu2"
;;
3)
clear
echo "vc escolheu3"
;;
*)
clear
echo "nenhuma opção foi escolhida"
echo "saindo do script"
sleep 3
exit
;;
esac
done
exit
pergunto:
1- como faco para qdo um laco nao for satisfatorio VOLTAR pro menu
inicial ?
[]s
---------------------------------------------------------------------
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
---------------------------------------------------------------------
Servidor Newsgroup da lista: news.gmane.org
Grupo: gmane.org.user-groups.programming.shell.brazil
Links do Yahoo! Grupos
--
Tiago B Peczenyj
Linux User #405772
# cd /pub
# more beer