shell-script-pt
[Top][All Lists]
Advanced

[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:59:05 -0300

perdão escrevi confudo no lugar de confuso.

a linha
[ "${usuario}" ] || break;

faz o segunte teste - se a variavel *não* possui conteudo, então
executa o break.

na pergunta se vc der um simples 'enter', sem nenhum valor, sai do
laço interno. uma maneira de sair da pesquisa.

On 7/24/06, Tiago Barcellos Peczenyj <address@hidden> wrote:
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



--
Tiago B Peczenyj
Linux User #405772

# cd /pub
# more beer


reply via email to

[Prev in Thread] Current Thread [Next in Thread]