[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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- RES: [shell-script] duvida de pattern no case usando bash,
Julio Cezar Neves - DISB.O <=