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: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


reply via email to

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