[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Construção de CASE Complexa
From: |
Rodrigo Amorim Ferreira | CODECOMMUNITY |
Subject: |
Re: [shell-script] Construção de CASE Complexa |
Date: |
Sat, 09 Jul 2016 02:30:59 -0300 |
Oi pessoal,
Quanto ao problema de envio de mensagens para a lista através de minha
conta de email, acredito já ter solucionado... era problema de "BIOS" (e
muito tempo sem mexer no painel de controle do Yahoo) :D
Aguardo opiniões sobre o problema com o tipo condicional case relatado
anteriormente.
Um abraço a todos.
Rodrigo
On Fri, 2016-07-08 at 22:04 -0700, address@hidden [shell-script]
wrote:
>
> Oi Pessoal,
>
> Boa madrugada! Antes de mais nada, peço desculpas antecipadas caso a
> lista receba mais de uma mensagem minha sobre o mesmo tema, pois me
> parece que não está funcionando o envio de mensagens diretamente de
> minha conta de email e estou re-enviando essa cópia através do painel
> de controle do Yahoo Groups. Alguém saberia de algum problema, ou
> bloqueio?
>
>
> DÚVIDA SOBRE CONDICIONAL DO TIPO CASE
>
>
> Gostaria de tirar uma dúvida: é possível criar um tipo condicional
> case
> com opções AND e OR misturadas em cada opção de padrão a ser
> analisado?
>
> Exemplos: eu sei que e possível criar um tipo condicional case básico
> como:
>
> case $1 in
> -p)
> echo "Opção 1"
> ;;
> -s)
> echo "Opção 2"
> ;;
> -f)
> echo "Opção 3"
> ;;
> *)
> echo "Modo de uso: nome_do_programa {-spf}"
> esac
>
> Neste caso ele analisa o uso do executável com apenas uma opção:
>
> $ nome_do_programa -p
> Opção 1
> $ nome_do_programa -s
> Opção 2
> $ nome_do_programa -f
> Opção 3
>
> Eu sei que é possível expandir o uso das opções, de cada padrão a ser
> analisado, com o OR:
>
> case $1 in
> -p|--project)
> echo "Opção 1"
> ;;
> -s|--subproject)
> echo "Opção 2"
> ;;
> -f|--file)
> echo "Opção 3"
> ;;
> *)
> echo "Modo de uso: nome_do_programa {-spf}"
> esac
>
> O que permite ele funcionar para os seguintes casos:
>
> $ nome_do_programa -p
> Opção 1
> $ nome_do_programa --project
> Opção 1
> $ nome_do_programa -s
> Opção 2
> $ nome_do_programa --subproject
> Opção 2
> $ nome_do_programa -f
> Opção 3
> $ nome_do_programa --file
> Opção 3
>
> E também sei que é possível utilizar AND para evitar (ao máximo) o uso
> de condicionais do tipo case aninhadas, como:
>
> case $1:$2:$3 in
> -p:-s:-f)
> echo "Opção 1, 2 e 3 simultâneas"
> ;;
> *)
> echo "Modo de uso: nome_do_programa {-s -p -f}"
> esac
>
> que responderia da seguinte maneira:
>
> $ nome_do_programa -p -s -f
> Opção 1, 2 e 3 simultâneas
>
> Mas não descobri como fazer (se é realmente possível) o uso do AND e
> do
> OR simultâneo em cada opção de padrão a ser analisado pelo tipo
> condicional case. É possível criar uma opção de padrão que misture
> ambas? Algo como (eu sei que não funciona):
>
> -p|--project:-s|--subproject:-f|--file)
>
> que permitisse gerar resultados como:
>
> $ nome_do_programa -p -s -f
> Opção 1, 2 e 3 simultâneas
> $ nome_do_programa --project -s -f
> Opção 1, 2 e 3 simultâneas
> $ nome_do_programa -p --subproject -f
> Opção 1, 2 e 3 simultâneas
> $ nome_do_programa -p -s -file
> Opção 1, 2 e 3 simultâneas
> $ nome_do_programa --project --subproject -f
> Opção 1, 2 e 3 simultâneas
> $ nome_do_programa --project -s --file
> Opção 1, 2 e 3 simultâneas
> $ nome_do_programa -p --subproject --file
> Opção 1, 2 e 3 simultâneas
> $ nome_do_programa --project --subproject --file
> Opção 1, 2 e 3 simultâneas
>
> Estou tentando ao máximo obter opções de construção de programas em
> shell com o uso do tipo condicional case para não precisar utilizar
> (muito) a sua forma aninhada e tentar manter o código o mais "simples"
> possível.
>
> Também acredito que posso estar redondamente enganado, e essa linha de
> raciocínio pode vir a complicar meu projeto mais à frente. Por isso
> qualquer solução alternativa que mude minha linha de desenvolvimento e
> torne o programa melhor (e mais legível) também é muito bem vinda.
>
> Desde já agradeço a ajuda.
>
> Saudações.
>
> Rodrigo Amorim
>
>
>
>
- Construção de CASE Complexa, code, 2016/07/09
- Re: [shell-script] Construção de CASE Complexa,
Rodrigo Amorim Ferreira | CODECOMMUNITY <=
- Re: Construção de CASE Complexa, itamarnet, 2016/07/09
- 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