Bonsoir à tous,
J'ai eu un TP en cours qui consiste à faire un jeu du pendu en shell.
N'ayant jamais pratiquer ce langage avant ce tp, je sollicite votre aide pour une erreur que je rencontre avec mon script.

Voici l'énoncé de ma première question :

Écrivez une fonction « motAuHasard » qui affiche un mot tiré au hasard dans le fichier dico.dic, ce mot devra faire 6 caractères ou plus pour être utilisable (la variable système RANDOM permet de générer des nombres aléatoires. Par exemple $(($RANDOM%nombdredelignes)) calcule un nombre au hasard compris entre 0 et nombrelignes.
Attention la variable RANDOM, donne une valeur entre 0 et 32767, le fichiers mots contenant plus de 32767 lignes, il faudra tirer 2 valeurs aux hasard et les multiplier pour obtenir une valeur assez grande et en calculer ensuite le modulo.
Voici ce que j'ai fait
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
16
17
18
19
20
21
22
23
24
 
#!/bin/bash
 
motAuHasard () {
while [$nbcaract < 6]
	do
#calcule des deux aléatoire
	rdm = $(($RANDOM%32767))
	rdmm = $(($RANDOM%32767))
 
#multiplication des deux aléatoire 	
        modulo = expr $rdm \* $rdmm
	echo $modulo
#calcul modulo 
	nbligne= expr $modulo % 50
	echo $nbligne
#Cherche la ligne du mot
	mot = sed -n "$nbligne" dico.dic
	echo $mot
#calcule du nombre de caractère
nbcaract = ${#mot}
echo $nbcaract
done
}
Lorsque je l’exécute j’obtiens l'erreur suivante :
line 6 : 6] : no such file or directory
Merci