Gerando cadeias aleatórias
Publicado por Sandro Marcell 29/09/2008
[ Hits: 5.640 ]
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
Um Gerenciador de dispositivos que fiz
Atualização automática Debian / Ubuntu
Informações gerais sobre o usuário
Script para ajustar a hora sem correr o risco de mudar o dia ou o ano
Atenção a quem posta conteúdo de dicas, scripts e tal (1)
Manutenção de sistemas Linux Debian e derivados com apt-get, apt, aptitude e dpkg
Melhorando o tempo de boot do Fedora e outras distribuições
Como instalar as extensões Dash To Dock e Hide Top Bar no Gnome 45/46
Como Atualizar Fedora 39 para 40
Instalar Google Chrome no Debian e derivados
Consertando o erro do Sushi e Wayland no Opensuse Leap 15
Instalar a última versão do PostgreSQL no Lunix mantendo atualizado
Flathub na sua distribuição Linux e comandos básicos de gerenciamento
erro ao clonar repo github (5)
Problema Envio email GLPI Versao 10.0.15 (1)
Como adicionar módulo de saúde da bateria dos notebooks Acer ao kernel... (25)
[Shell Script] Script para desinstalar pacotes desnecessários no OpenSuse
[Shell Script] Script para criar certificados de forma automatizada no OpenVpn
[Shell Script] Conversor de vídeo com opção de legenda
[C/C++] BRT - Bulk Renaming Tool
[Shell Script] Criação de Usuarios , Grupo e instalação do servidor de arquivos samba