Générer des nombres aléatoires est un travail amusant à faire. Parfois, ces tâches sont également nécessaires dans un but comme la création d'un mot de passe. Sous Linux, il existe plusieurs façons de générer des nombres aléatoires avec certains scripts.
Dans cet article, nous allons vous expliquer les différentes manières de générer des nombres aléatoires via des terminaux Linux.
Utilisation de la variable $RANDOM
Une façon consiste à utiliser la variable $RANDOM pour générer des nombres aléatoires compris entre 0 et 32767. Il s'agit d'une variable shell intégrée pour générer le nombre aléatoire. Pour créer des nombres aléatoires, exécutez la commande comme indiqué ci-dessous.
$ echo $RANDOM
Générer un nombre aléatoire entre la plage choisie
Avec le petit ajustement sur une commande, vous pouvez générer des nombres aléatoires entre la plage choisie. Pour générer un nombre aléatoire entre 0 et 30, vous devez exécuter la commande comme indiqué ci-dessous.
$ a=$(( $RANDOM % 31 ))
$ echo $a
Une autre façon de générer un nombre aléatoire entre 0 et 100, vous devez exécuter la commande comme indiqué ci-dessous.
$ echo $(( $RANDOM % 101 ))
Générer un nombre aléatoire à l'aide du script
Avec l'utilisation de scripts bash, des nombres aléatoires peuvent également être facilement générés. C'est aussi un peu amusant d'écrire le script dans un tel but. Un exemple simple de script pour générer un nombre aléatoire est présenté ci-dessous.
$ sudo vim randomnumber.sh
#!/bin/bash echo "Enter the smallest number:" read smallest echo "Enter the largest number:" read largest if [[ $largest < $smallest ]]; then echo "Your provided numbers is not valid" exit 1 fi change=$(( $largest-$smallest )) if [[ $change == 1 ]]; then echo "Range between the numbers must be more than 1" exit 1 fi randomnumber=$(( $RANDOM % $largest + 1)) echo "The random number is: $randomnumber"
Sortie :
Avec un tel script, vous pouvez générer des nombres aléatoires entre la plage que vous avez fournie.
Utilisation de la commande shuf
C'est aussi l'un des moyens de générer des nombres aléatoires entre les plages. Exécutez une simple commande sur le terminal Linux à cette fin. Pour générer le nombre aléatoire entre 7 et 57, exécutez la commande comme indiqué ci-dessous.
$ shuf -i 7-57 -n1
Utilisation de la commande tr avec urandom
Pour générer le nombre aléatoire avec un nombre "n" de chiffres, vous pouvez extraire des nombres du flux /dev/urandom à l'aide de la commande tr. Supposons que vous génériez un nombre aléatoire avec 3 et 7 chiffres, vous devez exécuter la commande comme indiqué ci-dessous.
$ tr -cd "[:digit:]" < /dev/urandom | head -c 3
$ tr -cd "[:digit:]" < /dev/urandom | head -c 7
Conclusion
Dans cet article, vous avez appris à générer des nombres aléatoires avec une petite commande sur le terminal ou en créant le script. De plus, vous avez appris à créer des nombres aléatoires entre la plage fournie. Merci !