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 faitLorsque je l’exécute j’obtiens l'erreur suivante :
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 }
line 6 : 6] : no such file or directory
Merci
Partager