Pular para o conteúdo

Mega Sena

O script faz uma brincadeira para demonstrar de forma prática exemplo de uso de laços e variáveis em Bash-script de forma avançada.

PS: Caso alguém fique milionário graças ao script, lembre-se de contribuir minha parte a http://www.fsf.org/ e também auxiliar programadores independentes por aí ;)

Vlw
Pedro Robson Leão pleao
Hits: 7.257 Categoria: Shell Script Subcategoria: Avançado
  • Download
  • Nova versão
  • Indicar
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Descrição

O script faz uma brincadeira para demonstrar de forma prática exemplo de uso de laços e variáveis em Bash-script de forma avançada.

PS: Caso alguém fique milionário graças ao script, lembre-se de contribuir minha parte a http://www.fsf.org/ e também auxiliar programadores independentes por aí ;)

Vlw
Download megasena.sh Enviar nova versão
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Esconder código-fonte

#!/bin/bash

NUMBERS=;

for ((i=0;i<6;)) ; do
        r=$((RANDOM%60));

        [ ! -z "${NUMBERS}" ] && {
                r=$( echo ${r} | egrep -v "${NUMBERS}0" );
                [ -z "${r}" ] && continue;

        }
        NUMBERS+=${r};
        i=$((i+1));

        [ $i -lt 6 ] && NUMBERS+="|";
done


echo ${NUMBERS//|/ };
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Cluster beowulf

Analisar log do tcpdump

Gerenciador de Usuários com dialog (Active Directory + Dialog)

Gerenciamento de clientes com cbq,squid e firewall no kurumin.

Limpeza do Squid Manual

#1 Comentário enviado por quartodazona em 02/07/2012 - 00:38h
Olá amigo!
Testei seu script para tentar ser milionário, mas ele retorna erro.

megasena.sh: 5: megasena.sh: Syntax error: Bad for loop variable

Bem, eu não entendo muito de shell script, por isso eu não posso dizer que o "do" que só vi até hoje no while funcionaria nele e também não estou acostumado a ter somente 2 parâmetros na assinatura do for.

Se eu ficar milionário por conta do seu script, me lembrarei de você.

#2 Comentário enviado por pleao em 02/07/2012 - 10:19h
Opa :D

Então.

como vc comentou, rodei aqui novamente.

Segue a saida.


Não sei se tem algo a ver com sua versão de BASH.

O for com dois parametros não tem problema.

Voce consegue até fazer um forever "for(;;)", o "do/done" faz a marcação de bloco de codigo.

Qualquer duvida manda uma mensagem

pleao@pleao:~$ cat x.sh
#!/bin/bash

NUMBERS=;

for ((i=0;i<6;)) ; do
r=$((RANDOM%60));

[ ! -z "${NUMBERS}" ] && {
r=$( echo ${r} | egrep -v "${NUMBERS}0" );
[ -z "${r}" ] && continue;

}
NUMBERS+=${r};
i=$((i+1));

[ $i -lt 6 ] && NUMBERS+="|";
done


echo ${NUMBERS//|/ };
pleao@pleao:~$ bash ./x.sh
24 29 49 27 46 14
pleao@pleao:~$ echo $BASH_VERSION
4.2.24(1)-release


[1] Comentário enviado por quartodazona em 02/07/2012 - 00:38h:

Olá amigo!
Testei seu script para tentar ser milionário, mas ele retorna erro.

megasena.sh: 5: megasena.sh: Syntax error: Bad for loop variable

Bem, eu não entendo muito de shell script, por isso eu não posso dizer que o "do" que só vi até hoje no while funcionaria nele e também não estou acostumado a ter somente 2 parâmetros na assinatura do for.

Se eu ficar milionário por conta do seu script, me lembrarei de você.


#3 Comentário enviado por reynaldohortensi em 23/01/2021 - 17:42h
Gostei do seu (mas não entendi tudo).
O que essa linha faz?: [ ! -z "${NUMBERS}" ] && { r=$( echo ${r} | egrep -v "${NUMBERS}0" ); [ -z "${r}" ] && continue;}

Contribuir com comentário

Entre na sua conta para comentar.