Gerando cadeias aleatórias
Publicado por Sandro Marcell 29/09/2008
[ Hits: 5.884 ]
Homepage: http://sanmarcell.wordpress.com
Simples script (em zsh) que gera cadeias utilizando letras, números, sinais, etc... de forma aleatória. Exemplos:
% ./script.sh 5
!sl[g
% ./script.sh 15
~^VnP_FVWeig51g
% ./script.sh 30
k8_aS@*R:EI2k2B_$g5ymMDSXaiQ*q
#!/bin/zsh -f # # Gerando cadeias aleatorias. # Sandro Marcell (sandro_marcell@yahoo.com.br) # # Uso: <script.sh> ou <script.sh [valor]> # # Onde: # [valor] determinara a quantidade de caracteres que comporao a cadeia. # # Ex.: # % ./script.sh 30 # xZ~c9r3VN@^c=ghWCm*NIt5t7AVsgO # # Obs.: # - Somente numeros sao validos para a string [valor]; # - Caso [valor] nao seja especificado, o padrao assumido e 13; # - Se [valor] possuir espacos ou quaisquer outros caracteres que nao # sejam numeros, os mesmos serao removidos. # Carregando modulo de funcoes matematicas: zmodload -i zsh/mathfunc # Removendo caracteres invalidos: string="$argv" valor=$(print ${string//[^0-9]/}) # Caracteres utilizados para gerar a cadeia: cars="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!?:^~@#$%&*_+=[]/" # Loop de controle: for ((i=0 ; i < ${valor:-13} ; i++)) do # Gerando cadeia: rand=$((1 + ((int(${(c)#cars} * rand48(seed))) / (RAND_MAX + 1 )))) print -n "$cars[$rand]" unset rand done print "" # Fim
Samba - Forçar usuário a alterar senha no próximo logon
Automação em cópia de arquivos de backup
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Visualizar arquivos em formato markdown (ex.: README.md) pelo terminal
Dando - teoricamente - um gás no Gnome-Shell do Arch Linux
Como instalar o Google Cloud CLI no Ubuntu/Debian
Mantenha seu Sistema Leve e Rápido com a Limpeza do APT!
Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)
Sinto uma leve lentidão ao arrastar, miniminizar e restauras as janela... (3)
Alguém já usou o framework Avalonia para desenvolver interfaces de usu... (4)
Ajuda Pra Melhoria do NFTABLES. (8)
Pastas da raiz foram para a área de trabalho [RESOLVIDO] (7)