Faire un "$RANDOM modulo N" fonctionne mais la distribution est moins aléatoire que de faire un "($RANDOM / (VALEUR_MAX_DU_RANDOM + 1)) * N" (calculé en virgules flottantes)
Exemple classique: si on suppose que VALEUR_MAX_DU_RANDOM vaut 30, et qu'on veut un nombre entre 0 et 19. En faisant un "modulo 20", on a 2 fois plus de chances d'avoir un truc entre 0 et 9 qu'entre 10 et 20.
Pour poser vos questions sur les scripts shell, le Perl, le C, etc... Attention : nous ne sommes pas des spécialistes du dev, ce forum est juste pour de petites aides ponctuelles concernant le développement et les outils de développement.
Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons