Fala Fernando, já vi muita gente boa "quebrar a cara" por causa de testes de opções. A coisa é bem mais complexa que parece e o problema não é gerado pela qtd de opções, mas sim pelas suas combinações, isto é, algumas opções precisam parâmetros (ex. paste -d: arq1 arq2), outras não (ex: paste -s arq1). Algumas podem vir agrupadas (paste -s -d: arq1), outras podem vir juntas (ex: paste -sd: arq1). E mais outras possibilidades...
Por causa deste grau de complexidade é que existe uma instrução (em shell e em C) feita justamente para analise das opções passadas. Chama-se getopts, é pouco conhecida, mas aqui<https://wiki.softwarelivre.org/TWikiBar/TWikiBarPapo010#Comando_getopts>vc encontra a sua descrição e um monte de exemplos simples de entender e no bom e velho português. Abraços, Julio Cursos de Shell e Zenity em 2 fins de semana? - Em SP ligue (11) 2125-4747 Curso de 07 a 11/12; - Em DF ligue (61) 3223-3000 Curso de zenity 09-10/01; - No RJ ligue (21) 2561-0867. Curso nos dias 5,6,12,13/12; - Turmas fechadas em outras cidades ligue (21) 8112-9988. 2009/11/26 Fernando Brombatti <[email protected]> > > > Estou querendo montar um script onde eu informo uma listagem de parâmetros. > Esses parâmetros serão os itens que eu querei executar. > No decorrer do script terei um CASE ou IF que verificaria se, na variável > LISTAGEM, existe o parâmetro em questão para executar algum comando. > > Exemplo de algoritmo: > LISTAGEM="memoria disco tempo" > CASE > CASE $LISTAGEM possui memoria > ECHO "TEM MEMORIA" > CASE $LISTAGEM possui diso > ECHO "TEM DISCO" > CASE $LISTAGEM possui tempo > ECHO "TEM TEMPO" > CASE $LISTAGEM nao possui nenhum > ECHO "NAO TEM NADA" > ESAC > > Qual a forma ideal para fazer isso? > a) CASE ou IF? > b) Como eu verificaria, da forma mais instantânea (e mais elegante > possível) > se o item do CASE/IF consta na listagem? > > Flw. > > -- > Fernando Brombatti > email-msn-gtalk-skype: > [email protected] <brombatti%40gmail.com> > work: +55 54 3218-6060 > home: +55 54 3028-7217 > mobile: +55 54 9189-7970 > > [As partes desta mensagem que não continham texto foram removidas] > > > [As partes desta mensagem que não continham texto foram removidas] ------------------------------------ --------------------------------------------------------------------- Esta lista não admite a abordagem de outras liguagens de programação, como perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio aviso. --------------------------------------------------------------------- Sair da lista: [email protected] --------------------------------------------------------------------- Esta lista é moderada de acordo com o previsto em http://www.listas-discussao.cjb.net --------------------------------------------------------------------- Servidor Newsgroup da lista: news.gmane.org Grupo: gmane.org.user-groups.programming.shell.brazil Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/shell-script/ <*> Para sair deste grupo, envie um e-mail para: [email protected] <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
