{{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