Je crée un bot dans Script Shell:Sélectionnez un élément aléatoire d'un tableau
# Array with expressions
expressions=("Ploink Poink" "I Need Oil" "Some Bytes are Missing!" "Poink Poink" "Piiiip Beeeep!!" "Hello" "Whoops! I'm out of memmory!")
# Seed random generator
RANDOM=$$$(date +%s)
# Loop loop loop loop loop loop ...
while [ 1 ]
do
# Get random expression...
selectedexpression=${expressions[$RANDOM % ${#RANDOM[*]}]}
# Write to Shell
echo $selectedexpression
# Wait an half hour
sleep 1 # It's one second for debugging, dear SOers
done
Je veux qu'il imprime un élément aléatoire de la expressions
chaque seconde. J'ai essayé mais ça ne marche pas. Il imprime seulement le premier (Ploink Poink) à chaque fois. Quelqu'un peut m'aider? Merci
Notez que ce code sera toujours biaisé vers les indices de tableau inférieurs . – Joey
True. Cependant, à moins que votre liste d'expressions ne soit très longue, l'effet est mineur. $ RANDOM est un nombre entre 0 et 32767. Supposons que vous ayez 100 éléments dans votre liste. Les 67 premiers éléments auraient une chance de 328/32767 (.01001), alors que les 33 derniers auraient une chance de 327/32767 (.00998). Pour une liste plus courte, la différence serait encore moindre. Pourtant, vous faites un bon point, et la fonction shell RANDOM n'est pas adaptée aux situations où vous devez avoir des nombres vraiment aléatoires, tels que la cryptographie. –