Bonjour à tous,

Je souhaiterais executer une fonction random qui me génère un nombre entre 1 et $nbligne qui contient un entier approchant les 400000. Voici mon code actuel :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#Jeu
nbligne=`wc -l toto.txt`
nbligne=${nbligne:0:7}
echo ""
echo "nbligne : $nbligne"
numligne=`tr -dc 1-$nbligne < /dev/urandom |head -c 1`
if [ -z $numligne ]
     then
          numligne=0
fi
echo "numligne 1 : $numligne"
let numligne ++
echo "numligne 2 : $numligne"
echo "FIN"
echo ""
Lorsque j'execute ce code, le message d'erreur suivant apparait :
tr : operande operande manquant apres « 0-323577 »
Deux chaines doivent être indiquées lors de la conversion.
Je ne suis pas expert, cette commande random me vient de https://forum.ubuntu-fr.org/viewtopic.php?id=1579091. Mais elle ne fonctionne à première vu que pour les nombres de 0 à 9... Quelqu'un a-t-il une idée ? Quelle operande manque ?

Merci par avance de votre aide.