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.259 Categoria: Shell Script Subcategoria: Avançado
  • Download
  • Nova versão
  • Indicar
  • Denunciar

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

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//|/ };

Baixa os pacotes de uma determinada versão do Slackware para posterior atualizaçao

Editor de configurações para Tint2

Claro 3g Sony Ericsson md300 script conexao REVISAO 2

Gerência do Squid

Crackear rede WIFI - Script para testes de segurança em redes Wifi - wpa e wpa2 com wordlist

#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.