J'essaie de créer une application spritz. Tout fonctionnait bien, mais depuis hier, je reçois toujours cette erreur:
./spritz: ligne 176: erreur de syntaxe: fin de fichier inattendue
J'ai vérifié le fichier de script et tout semble parfait. Je suis confus, j'ai enfin une déclaration if et ça a l'air correct! Voici la dernière partie:
#checks if speed is 150
157 if [[ $2 -eq 150 ]];
158 then
159 starttime=$SECONDS
160 FS=$'\n'
161 for j in `grep --color=always -iP '\b[^aeiou\s]*[aeiou][^aeiou\s]*\K[aeiou]' $1`;
162 do
163 #Reads the text file in the centre of the screen
164 echo " ___________________"
165 echo " $j";
166 echo " ___________________"
167 echo " Speed 150 wpm"
168 sleep 0.9;
169 clear;
170 done
171 endtime=$(($SECONDS - $starttime))
172 echo "You read $words_read words in $endtime seconds!"
173 exit 8
174 fi
Qu'est-ce qui pourrait provoquer cette erreur?
Le diagnostic "fin de fichier inattendue" indique que vous disposez d'une construction syntaxique d'ouverture inégalée ou non terminée (if
sans O fi
, do
sans done
, accolades ouvrantes sans la fermeture associée, guillemets ouvrants mais non terminés, etc.). Le numéro de ligne pointant vers la fin du script n'est pas utile dans ce cas, au-delà de dire d'inspecter vos constructions syntaxiques; l'erreur peut se trouver n'importe où dans votre code. Vous devez vérifier cela.