Bonjour,
Voici pour l’instant mon script
[code]#!/bin/sh
script xkcd-url-gen
RAND=$(dd if=/dev/urandom count=1 status=noxfer | md5sum | cut -c 5-8 | tr ‘[a-z]’ ‘[A-Z]’ | bc)
RAND=$(($RAND%705))
RAND=$(($RAND+1))
echo “http://xkcd.com/${RAND}/”
exit 0[/code]
Qui comme vous l’avez compris, dois me sortir une url aléatoire choisie dans une plage limitée de proposition.
Mon problème réside dans le fait que dd me fait une sortie intempestive :
1+0 enregistrements lus
1+0 enregistrements écrits
http://xkcd.com/540/
J’ai tenté de résoudre en faisant la sortie sur /dev/null plutôt que la sortie standard (of=/dev/null), mais ça ne change rien, et en plus ça ne génère plus rien d’aléatoire.
Je me suis replié sur cette solution parce que la variable $RANDOM me sort un blanc… je ne sais pas si elle est passée de date, mais bon… Beaucoup de monde semble l’utiliser, je ne vois pas comment.
Si vous voyez un moyen d’utiliser $RANDOM, je suis partant.
Merci
Edit :
Résolu de moi-même, en trouvant des infos sur od (ce type est proprement illisible, autant voir le man, même si il grille quelques neurones parfoit… On se demande à quoi pense le traducteur lorsqu’il écrit […]Un opérande de
déplacement signifie -j SAUT. L’ÉTIQUETTE est la pseudo-adresse du premier octet affiché, elle est incrémentée lors de l’affichage.[…]
voici le script final (enfin, j’en ai finis de la génération d’url, mais il n’est pas terminé).
[code]#!/bin/sh
script xkcd-url-gen
RAND=$(dd if=/dev/urandom count=1 status=noxfer 2> /dev/null | od -N 512 -x | md5sum | cut -c 5-8 | tr ‘[a-z]’ ‘[A-Z]’ | bc)
RAND=$(($RAND%705))
RAND=$(($RAND+1))
echo “http://xkcd.com/${RAND}/”
exit 0[/code]