{{tag>dev bash shell}}
====== Bash: Générer un nombre aléatoire ======
Pour obtenir un nombre aléatoire dans l'intervalle [0-32767] depuis le shell, on peut utiliser la variable **$RANDOM**.
Pour limiter la valeur maximum de l'intervalle entre [0-N] avec N < 32767, on peut utiliser l'opérateur modulo. Lorsqu'on divise un nombre par N, le reste de la division est toujours compris entre [0-(N-1)]. Le reste est disponible via l'opérateur modulo.
# La fonction alea écrit sur la sortie standard un
# nombre aléatoire compris entre 0 et le nombre passé
# en argument
alea () {
echo $(( $RANDOM % ( $1 + 1 ) ))
}
On fait ici le choix d'écrire sur la sortie standard plutôt que d'utiliser le mot clé **return** car celui-ci ne peut retourner qu'une valeur comprise entre [0-127]. On récupère ensuite cette valeur en utilisant la syntaxe de substitution de commande : **$( ... )**
n1=$( alea 100 )
n2=$( alea 33 )
echo $n1 $n2