[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Re: Construção de CASE Complexa
From: |
Rodrigo Amorim Ferreira | CODECOMMUNITY |
Subject: |
Re: [shell-script] Re: Construção de CASE Complexa |
Date: |
Mon, 11 Jul 2016 13:26:44 -0300 |
Oi Christian,
Simples! Porque eu ainda não tinha conseguido visualizar o funcionamento
da sugestão do Itamar. Acho que finalmente peguei a ideia (do uso da
ideia dele) para o meu programa. Vou apresentar uma proposta-exemplo em
breve.
Também agradeço suas sugestões. São ótimas :)
E peço desculpas pelos longos textos nos emails anteriores, mas eu
(acredito) precisava tentar explicar:
1 - o funcionamento do meu programa e;
2 - como eu estava usando a logica (ou a falta de lógica) para
construí-lo.
Um abraço.
Rodrigo
On Mon, 2016-07-11 at 12:33 -0300, Christian Lyra address@hidden
[shell-script] wrote:
>
> Caros,
>
>
> Nossa... a thread cresceu alem do esperado! Logo quando eu vi pensei
> que o Rodrigo não tinha pensado em usar o shift para ler as opções, e
> a resposta logo em seguida do Itamar estava perfeita. Pronto é isso,
> "KISS". Varios textões depois eu ainda estou tentando entender porque
> o Rodrigo quer fazer algo complicado a ponto de impedir que o usuário
> altere a ordem das opções! Que diferença faz "-p projeto -s
> subprojeto" de "-s subprojeto -p projeto"?? Salvo as situações onde
> não se usam "opções" de maneira explicita como por exemplo num comando
> cp, onde sempre os primeiros parametros são a origem e o último o
> destino, o padrão é aceitar as opções em qualquer ordem!
>
>
> Assim tb como indicado pelo Itamar, vc cuida depois da lógica das
> opções, ou seja, o usuário não pode usar a opção de subprojeto, sem
> indicar tb a opção de projeto. Algo do tipo:
>
>
> PROJETO=""
>
> SUBPROJETO=""
>
> DEBUG=0
>
>
> # le opcoes
>
> while test -n "$1"
>
> do
>
> case $1 in
>
> -p|--projeto) shift
>
> PROJETO="$1"
> ;;
>
> -s|--subprojeto) shift
>
> SUBPROJETO="$1"
> ;;
>
> -d|--debug) DEBUG=1
> ;;
>
> *) echo "hein?"
>
> esac
>
> shift
>
> done
>
>
> #verifica opcoes
>
> if [ "$PROJETO" == "" ]
>
> then
>
> echo "Por favor, informe o projeto. "
>
> exit
>
> fi
>
>
> Outra opção é usar o getopt, mas eu pessoalmente acho ele meio
> chato...
>
>
> Quanto a questão da ordem de aplicação dos parâmetros, por
> questão da
> ideia de superconjunto, e de forçar o usuário a pensar na
> execução de
> suas tarefas na ordem "correta", eles não poderiam ser
> alterados (de
> início).
>
> Assim, se alguém quer mexer num arquivo de um subprojeto ele
> precisa
> primeiro informar o PROJETO, depois o SUBPROJETO para depois
> indicar o
> ARQUIVO que ele quer mexer... nessa ordem. Assim sendo, não
> queria
> permitir na linha de comando que o usuário alterasse essa
> ordem a seu
> "bel prazer" por questão de lógica também da estrutura de
> arquivos e
> diretórios que o programa constrói. Mas, novamente, posso
> estar enganado
> quanto a isso.
>
> Mas se você afirma que as ideias anteriormente postadas por
> você, Tiago
> e Julio são as melhores opções, vou continuar pensando nelas e
> tentar
> elaborar um código exemplo para apreciação da lista.
>
> E, não se preocupe pois eu não sou de me iludir. Prefiro
> sempre a
> verdade, pois não se pode ficar feliz com mentiras, somente
> para agradar
> ao próximo (i. é: essa situação é ruim tanto para quem tenta
> agradar
> dessa forma quanto para quem aceita esse tipo de
> agradecimento) :P
>
> Um abraço.
>
> Rodrigo
>
>
>
> >
>
>
>
>
>
>
> --
> Christian Lyra
> PoP-PR/RNP
> (41) 3361-3343
>
>
- Re: Construção de CASE Complexa, (continued)
- Re: Construção de CASE Complexa, itamarnet, 2016/07/09
- Re: [shell-script] Re: Construção de CASE Complexa, Rodrigo Amorim Ferreira | CODECOMMUNITY, 2016/07/09
- Re: [shell-script] Re: Construção de CASE Complexa, itamarnet, 2016/07/09
- Re: [shell-script] Re: Construção de CASE Complexa, Rodrigo Amorim Ferreira | CODECOMMUNITY, 2016/07/09
- Re: [shell-script] Re: Construção de CASE Complexa, itamarnet, 2016/07/09
- Re: [shell-script] Re: Construção de CASE Complexa, Rodrigo Amorim Ferreira | CODECOMMUNITY, 2016/07/09
- Re: [shell-script] Re: Construção de CASE Complexa, Rodrigo Amorim Ferreira | CODECOMMUNITY, 2016/07/10
- Re: [shell-script] Re: Construção de CASE Complexa, itamarnet, 2016/07/11
- Re: [shell-script] Re: Construção de CASE Complexa, Rodrigo Amorim Ferreira | CODECOMMUNITY, 2016/07/11
- Re: [shell-script] Re: Construção de CASE Complexa, Christian Lyra, 2016/07/11
- Re: [shell-script] Re: Construção de CASE Complexa,
Rodrigo Amorim Ferreira | CODECOMMUNITY <=
- Re: [shell-script] Re: Construção de CASE Complexa, phfbettega, 2016/07/11
- Re: [shell-script] Re: Construção de CASE Complexa, Rodrigo Amorim Ferreira | CODECOMMUNITY, 2016/07/11
- RES: [shell-script] Re: Construção de CASE Complexa, Igor, 2016/07/11
- Re: [shell-script] Re: Construção de CASE Complexa, Julio C. Neves, 2016/07/11
- Re: [shell-script] Re: Construção de CASE Complexa, Rodrigo Amorim Ferreira | CODECOMMUNITY, 2016/07/11
Re: [shell-script] Construção de CASE Complexa, Tiago Peczenyj, 2016/07/09
Re: [shell-script] Construção de CASE Complexa, Julio C. Neves, 2016/07/09