Generando números aleatorios en Bash con ejemplos
- 1015
- 246
- Mario Gollum
Al codificar los scripts bash, especialmente al desarrollar scripts para pruebas de funcionalidad, a veces necesitamos generar un número aleatorio o una entrada aleatoria. Es posible que estos números también deban estar dentro de un rango específico. Este artículo le enseñará cómo realizar la generación de números aleatorios en Bash.
En este tutorial aprenderás:
- Cómo generar números aleatorios en Bash
- Cómo generar números aleatorios es un rango específico
- Ejemplos que demuestran la generación de números aleatorios en Bash
Requisitos y convenciones de software utilizados
Categoría | Requisitos, convenciones o versión de software utilizada |
---|---|
Sistema | Independiente de la distribución de Linux |
Software | Línea de comando bash, sistema basado en Linux |
Convenciones | # - requiere que los comandos de Linux se ejecuten con privilegios raíz directamente como un usuario raíz o mediante el uso de sudo dominio$-Requiere que los comandos de Linux se ejecuten como un usuario regular no privilegiado |
Ejemplo 1: Generación de un número aleatorio usando el generador aleatorio
Generemos un número aleatorio en Bash:
$ Echo $ Random 24758 $ Echo $ Random 13
Eso fue simple, ¿no??
Sin embargo, hay algunos desafíos con este enfoque; no es muy utilizable como está: el número aleatorio podría ser 1
o 32000
. También es digno de mención que, si bien el número devuelto parece aleatorio, en realidad está influenciado por cómo la variable de entropía aleatoria (Aleatorio =
) se inicializa. Este será el foco para otro artículo. Un ejemplo rápido de cómo puede hacerlo más aleatorio sería;
$ Random = 1 $ echo $ random 16807 $ random = 1 $ echo $ random 16807 $ random = $ (fecha +%s%n | corte -b10-19) $ echo $ random 18991 $ random = $ (fecha +%s %N | Cut -B10-19) $ Echo $ Random 11045
Tenga en cuenta que el número aleatorio 16807
no es realmente tan aleatorio, ya que el generador aleatorio se sembró con el mismo 1
.
El Aleatorio = $ (fecha +%s%n | Cut -B10-19)
El comando es un semillero de entropía generador aleatorio mucho mejor basado en el segundo y el tiempo de nanosegundos.
Ejemplo 2: Números en un rango
Seleccionar números aleatorios en un rango es simple. Generemos un número aleatorio entre 1 y 113:
$ Echo $ (($ Random)
Y también podemos usar una sintaxis/comando alternativa. Esta vez generaremos un número aleatorio entre 1 y 117:
$ Echo $ [$ Random % 117 + 1] 113 $ Echo $ [$ Random % 117 + 1] 71 $ Echo $ [$ Random % 117 + 1] 10
Para aumentar el mínimo de un rango dado, simplemente puede aumentar el +1
a un número más alto.
Considere el siguiente ejemplo, generando un número aleatorio entre 11 y 30:
$ Echo $ [$ Random % 20 + 11] 21
Conclusión
En este artículo, aprendimos a generar un número aleatorio en Bash, en cualquier rango preferido. También tocamos brevemente cómo funciona la aleatoriedad en Bash a través de un generador aleatorio inicializado de semillas de entropía.
Muéstranos algunos de tus $ Random
Creaciones en los comentarios a continuación! Disfrutar!
Tutoriales de Linux relacionados:
- Manejo de la entrada del usuario en scripts bash
- Cosas para instalar en Ubuntu 20.04
- Cómo configurar un servidor OpenVPN en Ubuntu 20.04
- Una introducción a la automatización, herramientas y técnicas de Linux
- Mastering Bash Script Loops
- Bucles anidados en guiones Bash
- Cosas que hacer después de instalar Ubuntu 20.04 fossa focal Linux
- Lista de las mejores herramientas de Kali Linux para pruebas de penetración y ..
- Mint 20: Mejor que Ubuntu y Microsoft Windows?
- Sistema colgado de Linux? Cómo escapar a la línea de comando y ..