[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