shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Res: [shell-script] Número randômico


From: Viktor Mota
Subject: Res: [shell-script] Número randômico
Date: Fri, 21 Dec 2007 11:43:47 -0800 (PST)

Opa, seguem algumas maneiras... 

A mais comum é: 
echo $RANDOM

------------------------------------------------------------------------------------------
Tem tb outras formas malucas de se conseguir...

#!/bin/bash
#Define a matrix
MATRIX="0123456789"
#Experimenta com essa matriz tb... fica bem bacana pq mescla letras e numeros
#MATRIX="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"

#Define o tamanho (vai ser aplicado na matriz)
LENGTH="8"

#Hora da mágica
while [ "${n:=1}" -le "$LENGTH" ]
do
PASS="$PASS${MATRIX:$(($RANDOM%${#MATRIX})):1}"
let n+=1
done

#Hora do Mr.M estragar o show
echo "$PASS"
------------------------------------------------------------------------------------------

Assim como algumas mais rebuscadas...

# Gera uma senha aleatória de N caracteres formada por letras e números
# Obs.: a senha gerada não possui caracteres repetidos
# Uso: zzsenha [n]     (padrão n=6)
# Ex.: zzsenha
#      zzsenha 8
zzsenha2(){ zzzz -z $1 zzsenha && return
local n alpha="0123456789"
n=4 ; [ "$1" ] && n=`echo "$1" | sed 's/[^0-9]//g'`
[ $n -gt 10 ] && { echo "zzsenha: O tamanho máximo é 10" ; return ; }
while [ $n -ne 0 ]; do n=$((n-1)) ; pos=$((RANDOM%${#alpha}+1))
echo -n "$alpha" | sed "s/\(.\)\{$pos\}.*/\1/" # igual a cut -c$pos
alpha=`echo $alpha | sed "s/.//$pos"` ; done | tr -d '\012' ; echo
}
# mais info sobre as funcoes ZZ em: http://funcoeszz.net/




----- Mensagem original ----
De: CC Luiz Claudio <address@hidden>
Para: address@hidden
Cc: address@hidden
Enviadas: Sexta-feira, 21 de Dezembro de 2007 13:48:26
Assunto: [shell-script] Número randômico









  


    
            Boa tarde a todos.



Alguém sabe de algum comando que retorna um número randômico?



Desde já agradeço



Luiz Claudio
       
    

     
  







      Abra sua conta no Yahoo! Mail, o único sem limite de espaço para 
armazenamento!
http://br.mail.yahoo.com/

[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]