Mas por clareza também era só reescrever o primeiro melhor identado... eu nunca escrevi um if aglomerado como esse aí.
if [ $LER = s ]; then mod1="4"; elif [ $LER = n ]; then mod1="0"; else func_ERR; fi Nesse caso aí não vejo diferença na questão de performance. A sequência do "if" pode ser mais flexível, verificando outra condição / outra variável, mas como estão escritos realmente tanto faz, principalmente se considerar apenas fatores mais práticos. Talvez tenha alguma diferença em milissegundos na performance, o que dificilmente será importante num script pequeno. Quando for provavelmente a solução passará por mudar de linguagem. Abs, Carlos E G Carvalho (Cartola) http://cartola.org/360 http://cartola.org/panoforum Em 6 de junho de 2012 09:05, Lucas bortolato <lucas_bortol...@hst.com.br>escreveu: > Com certeza o Código 2, ele está mais claro. Porém tem que ver em que você > irá usa-lo pois o if then pode ser mais util que o case em alguns casos, na > mutação do código no caso de alguma retificação ou adicionar condições aos > códigos. > > Isso na minha opinião é claro. > att Lucas > ----- Original Message ----- > From: Cleyton Agapito <cragap...@gmail.com> > To: Lista Brasileira de Discussão sobre FreeBSD (FUG-BR) < > freebsd@fug.com.br> > Sent: Tue, 05 Jun 2012 22:07:25 -0300 (BRT) > Subject: Re: [FUG-BR] [OFF TOPIC] Shell Script > > Em 5 de junho de 2012 21:56, CDMB . <cd...@hotmail.com> escreveu: > > > > Boa noite a todos, > > gostaria que algum especialista analisasse esse simples código e me > dissesse qual das opções é melhor e porque. > > São dois códigos que fazem a mesma coisa e eu já testei e funcionam. > > > > Código 1: > > > > if [ $LER = s ]; then mod1="4"; elif [ $LER = n ]; then mod1="0"; else > func_ERR; fi > > > > Código 2: > > > > case $LER in > > s) > > mod1="4" > > ;; > > n) > > mod1="0" > > ;; > > *) > > func_ERR > > ;; > > esac > > > > Não sou especialista mas vou arriscar um palpite modesto, o segundo é > melhor por ser mais legível e por ser otimizável em C, no bash eu não > sei, pode até ser implementado da mesma forma. > > Na indiferença a legibilidade é preferível. > > Uma forma de testar seria colocar mais testes condicionais, executar > com o comando time e torcer pro sistema perceber alguma diferença. > > []'s > ------------------------- > Histórico: http://www.fug.com.br/historico/html/freebsd/ > Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd > > ------------------------- > Histórico: http://www.fug.com.br/historico/html/freebsd/ > Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd > ------------------------- Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd