Conteúdos

Shell Utilizando a Variável Random

Conteúdos

Variável RANDOM

Umas das coisas que ajuda muito na administração de servidores é ter um conhecimento razoável de programação para a criação de scripts.

No Linux, o interpretador de comandos bash já fornece as ferramentas necessárias para a construção de scripts que ajudarão o dia-a-dia da administração do sistema. Dessa forma pretendo iniciar alguns posts com algumas dicas de scripts, a começar com a variável de ambiente RANDOM. Com esta variável é possivel gerar um valor inteiro aleatório de 0 até 32767.

Isto pode ser muito útil por exemplo para gerar senhas numéricas randomicas:

user@maquina:~$ for i in `seq 1 8`;do c=`echo $RANDOM|cut -c1`;echo -n $c;done;echo

Ou para um propósito menos sério que a administração do sistema você pode fazer um script que gere jogos da mega-sena 😀 :

#!/bin/bash
TOTAL=10;  # Qtde de jogos
DEZENAS=6; # Dezenas a serem geradas
MAX=60;    # Maior numero possivel no jogo
MIN=1;     # Menor numero possivel no jogo

for seq_jogos in `seq 1 $TOTAL`;
do
        for seq_dezenas in `seq 1 $DEZENAS`;
        do
                while [ "$valido" != "OK" ]; # Roda até aparecer um número válido
                do
                        dezena=$RANDOM;
                        if [ $dezena -ge $MIN ] && [ $dezena -le $MAX ];
                        then
                                # Garantindo que o número não vai se repetir
                                # Só atribui  o valor de dezena na variável jogo se esse valor não estiver contido nela.
                                echo $jogo|grep -w $dezena >/dev/null|| jogo="$jogo $dezena";
                                valido="OK";
                        fi
                done
                valido="";
        done
        echo "Jogo $seq_jogos: $jogo";
        jogo="";
done

Um abraço a todos e até a próxima!