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

[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: Sat, 09 Jul 2016 12:17:28 -0300

Oi Itamar,

Como expliquei recentemente para o Tiago, eu tenho vários subníveis de
opções na linha de comando, e em sua maioria seguindo uma estrutura de
árvore para grande parte das variações de entrada no terminal (com um
número reduzido de opções iniciais diferentes).

Veja alguns exemplos:

Para reconstruir um arquivo dentro de um subprojeto:

  <script> -p, --project PROJECT -s, --subproject SUBPROJECT -f FILE -r,
--rebuild

Para reconstruir um subprojeto inteiro (todos os arquivos de um
subprojeto, com confirmação):

  <script> -p, --project PROJECT -s, --subproject SUBPROJECT, -R,
--Rebuild

Para reconstruir um projeto inteiro (todos os subprojetos com todos os
seus arquivos, com confirmação):

  <script> -p, --project PROJECT, -RR, --REBUILD

Mas existem as opções iniciais diferentes. São em menor número mas de
igual importância. Seguem alguns exemplos:

Cria um novo projeto (e um subprojeto):

  <script> -P, --Project PROJECT -S, --Subproject SUBPROJECT

Cria um novo projeto (e, de forma automática, um subprojeto www):

  <script> -P, --Project PROJECT

Cria um subprojeto dentro de um projeto existente:

  <script> -p, --project PROJECT -S, --Subproject SUBPROJECT

para você ter uma ideia de como eu estou pensando em construir o
programa.

Ainda existe muito mais linhas de comando como essa já pensadas e
registradas para futura implementação, sendo os exemplos acima uma
pequena amostragem para ajudar a entender melhor o que eu estou tentando
construir.

SUA SUGESTÃO

De certa forma, sua sugestão é interessante (com o case dentro do
while). Vou pensar em uma forma de criar meu projeto também nesse
formato, e expandir os subníveis (assim como vou tentar pensar em uma
maneira de criar uma contra-proposta com as sugestões do Tiago).

Claro que influencia muito saber todas as construções de opções de linha
de comando por antecedência, mas acredito que a lógica criada já está
estável (i. é: não acredito que mudará radicalmente) a não ser que vocês
tenham novas ideias de construção que gostariam de sugerir (e o motivo
da escolha) que melhor se adequariam a esse tipo de projeto.

Desde já agradeço a ajuda.

Um abraço para você e para o Aurélio.

Rodrigo


On Sat, 2016-07-09 at 01:17 -0700, address@hidden [shell-script]
wrote:
>   
> Caro Rodrigo
> 
> Eu participo junto ao Aurelio Jargas do projeto FuncoesZZ
> (http://funcoeszz.net/) e lá temos um recurso que usamos normalmente
> associando o case e while, seria algo assim no seu caso:
> 
>     while test "${1#-}" != "$1"
>     do
>         case "$1" in
>             -p | --project) opcao=1; shift ;;
>             -s | --subproject) opcao=2; shift ;;
>             -f | --file) opcao=3; shift ;;
>             --) shift ;;
>             *) break;;
>         esac
>     done
>     echo "Opção $opcao"
> 
> Isso atende sua expectativas?
> 
> []'s
> Itamar
> 
> 
> 




reply via email to

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