[FUG-BR] [OFF TOPIC] Shell Script

Lucas bortolato lucas_bortolato em hst.com.br
Quarta Junho 6 09:05:30 BRT 2012


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 <cragapito em gmail.com>
To: Lista Brasileira de Discussão sobre FreeBSD (FUG-BR) <freebsd em 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 . <cdmb_ em 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



Mais detalhes sobre a lista de discussão freebsd