Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha



Scripts

Linux user

Publicado por Pedro Robson Leão em (última atualização em 29/06/2012)   [ 2024 hits ]

Login: pleao, 83321 pontos

Download:


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



Scripts recomendados
   Script Linux recomendado Enviar via FTP todos as pastas / sub-pastas e arquivos, a partir do diretorio de origem inclusive
   Script Linux recomendado Limpeza do Squid Manual
   Script Linux recomendado Front-end para backup em CDRW e DVDRW
   Script Linux recomendado Biblioteca de funções de manipulação de arquivos CSV para shell script
   Script Linux recomendado pegando ip do windows update

Comentários
[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ê.





Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.