Gerando números aleatórios em festas com exemplos
- 4667
- 483
- Randal Kuhlman
Ao codificar scripts bash - especialmente ao desenvolver scripts para testes de funcionalidade - às vezes precisamos gerar um número aleatório ou entrada aleatória. Esses números também podem precisar estar dentro de um intervalo específico. Este artigo ensinará como realizar geração de números aleatórios em bash.
Neste tutorial, você aprenderá:
- Como gerar números aleatórios em bash
- Como gerar números aleatórios é um intervalo específico
- Exemplos demonstrando geração de números aleatórios em Bash
Requisitos de software e convenções usadas
Categoria | Requisitos, convenções ou versão de software usada |
---|---|
Sistema | Independente da distribuição Linux |
Programas | Linha de comando Bash, sistema baseado em Linux |
Convenções | # - requer que o Linux -Commands seja executado com privilégios de raiz diretamente como usuário root ou por uso de sudo comando$-exige que o Linux-Commands seja executado como um usuário não privilegiado regular |
Exemplo 1: Gerando um número aleatório usando o gerador aleatório
Vamos gerar um número aleatório em Bash:
$ echo $ aleatória 24758 $ eco $ aleatórios 13
Isso era simples, não era?
Existem alguns desafios com essa abordagem; Não é muito utilizável como está: o número aleatório pode ser 1
ou 32000
. Também digno de nota é que, embora o número retornado pareça aleatório, ele é realmente influenciado por como a variável de entropia aleatória (Aleatório =
) é inicializado. Este será o foco para outro artigo. Um exemplo rápido de como você pode torná -lo mais aleatório seria;
$ Aleatória = 1 $ echo $ aleatória 16807 $ aleatória = 1 $ echo $ aleatória 16807 $ aleatória = $ (data +%s%n | corte -b10-19) $ echo $ aleatório 18991 $ aleatórios = $ (data +%s %N | corte -b10-19) $ echo $ aleatório 11045
Observe que o número aleatório 16807
não é realmente tão aleatório, pois o gerador aleatório foi semeado com o mesmo 1
.
O Random = $ (Data +%S%N | Cut -B10-19)
O comando é um semeador de entropia de gerador aleatório muito melhor com base no segundo e no tempo de nanossegundos.
Exemplo 2: números em um intervalo
Selecionar números aleatórios em um intervalo é simples. Vamos gerar um número aleatório entre 1 e 113:
$ echo $ (($ aleatória % 113 + 1)) 50 $ echo $ (($ aleatória % 113 + 1)) 17 $ echo $ (($ aleatória % 113 + 1)) 95
E também podemos usar uma sintaxe/comando alternativo. Desta vez, geraremos um número aleatório entre 1 e 117:
$ echo $ [$ Random % 117 + 1] 113 $ echo $ [$ Random % 117 + 1] 71 $ echo $ [$ Random % 117 + 1] 10
Para aumentar o mínimo de um determinado intervalo, você pode simplesmente aumentar o +1
para um número maior.
Por favor, considere o exemplo a seguir, gerando um número aleatório entre 11 e 30:
$ echo $ [$ aleatória % 20 + 11] 21
Conclusão
Neste artigo, aprendemos a gerar um número aleatório em Bash, em qualquer faixa preferida. Também tocamos brevemente sobre como a aleatoriedade em Bash funciona através de uma semente de entropia geradora aleatória inicializada.
Mostre -nos alguns dos seus $ Aleatório
criações nos comentários abaixo! Aproveitar!
Tutoriais do Linux relacionados:
- Manipulando a entrada do usuário em scripts bash
- Coisas para instalar no Ubuntu 20.04
- Como configurar um servidor OpenVPN no Ubuntu 20.04
- Uma introdução à automação, ferramentas e técnicas do Linux
- Mastering Bash Script Loops
- Loops aninhados em scripts de basquete
- Coisas para fazer depois de instalar o Ubuntu 20.04 fossa focal linux
- Lista das melhores ferramentas Kali Linux para testes de penetração e…
- Mint 20: Melhor que o Ubuntu e o Microsoft Windows?
- Sistema Linux Hung? Como escapar para a linha de comando e…