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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RES: [shell-script] duvida de pattern no case usando bash


From: Julio Cezar Neves - DISB.O
Subject: RES: [shell-script] duvida de pattern no case usando bash
Date: Tue, 29 Jan 2002 12:41:19 -0300

Veja se vc prefere assim:

 Executa_Ops(){
    while [ $# -gt 0 ]
       do 
          case `echo "$1" | tr "[a-z]" "[A-Z]"` in
               -DMAT) DEPTO=mat;;
             -DEPMAT) DEPTO=mat;;
               -DEST) DEPTO=est;;
             -DEPEST) DEPTO=est;;
                -DCC) DEPTO=dcc;;
              -DEPCC) DEPTO=dcc;;
             -GALUNO) GRUPO=alun;;

O que fiz foi transformar minsculas em maiúsculas antes de fazer o case.
Desta forma vc não precisa testar ambos os casos.

Obs: em alguns sabores, os colchetes usados no tr não são necessários.

[ ]s,
Julio Cezar Neves

-----Mensagem original-----
De: Mauricio Vieira [mailto:address@hidden]
Enviada em: terça-feira, 29 de janeiro de 2002 09:51
Para: address@hidden
Assunto: [shell-script] duvida de pattern no case usando bash


Saudacoes,
 
 Desculpem a duvida simples. Eu tenho um script que aceita as opcoes:

         -d[mat|est|cc]  Especifica o departamento do usuario, podendo ser
                         de matematica, estatistica
                         ou ciencia da computacao
         -dep[mat|est|cc] O mesmo que -d

         -g[admin|aluno|prof|posgr|func|espec|visit|outro] Especifica o
grupo
                         do usuario. Se e administrador, aluno,
                         professor, estudante de pos-graduacao,
                         funcionario, aluno especial, professor
                         visitante ou outro
         -grp[admin|aluno|prof|posgr|func|espec|visit|outro] O mesmo que -g

 Tava escrevendo a funcao que executa as opcoes agora, e me deparei com o
seguinte:
 Executa_Ops(){
   while [ $# -gt 0 ]
     do case "$1" in
     -d[mM][aA][tT]) DEPTO=mat;;
     -dep[mM][aA][tT]) DEPTO=mat;;
     -d[eE][sS][tT]) DEPTO=est;;
     -dep[eE][sS][tT]) DEPTO=est;;
     -d[cC][cC]) DEPTO=dcc;;
     -dep[cC][cC]) DEPTO=dcc;;

     -g[aA][lL][uU][nN][oO]) GRUPO=alun;;
                          
 Nao tem uma forma mais pratica de fazer este reconhecimento de padrao no
case?
 Tou usando o bash. Ah, estou me baseando no script aass (asc art screen
saver)
 do Aurelio Marinho. E' a primeira vez que uso funcoes nos meus scripts e
que 
 tento fazer algo mais organizado usando expressoes regulares.

 Gostaria de dicas/urls onde acho bons scripts para que possa aprender. O
'man
 bash' é um tanto confuso pra quem nao programa muito.

 Qualquer ajuda é bem vinda.


-- 
%---------------------------------------------------------------------------
%

%  Mauricio Vieira 
%       echo "<mvieira at im dot ufba dot br>" | sed 's/ at /@/;s/ dot /./g'


%  Membro do GAVRIIM/UFBA 
   
%  GAVRIIM - Grupo dos Administradores Voluntários da Rede de 
        Informática do Instituto de Matemática
%  http://wiki.im.ufba.br

%% QUEREMOS BOLSAS PARA A ADMINISTRAÇÃO DA REDE %%

%  Estudante de Ciência da Computaçao 
%  Instituto de Matemática - UFBA 

%  5o Período - 2001.2
   
%---------------------------------------------------------------------------
%

Sair da lista: address@hidden
Banco Dados:   http://www.egroups.com/group/shell-script 

Seu uso do Yahoo! Grupos é sujeito às regras descritas em:
http://br.yahoo.com/info/utos.html 



reply via email to

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