Spritzアプリケーションを作成しようとしています。すべてがうまくいきますが、昨日から次のエラーが発生し続けます。
./spritz: 行 176: 構文エラー: 予期しないファイルの終わり
スクリプトファイルをチェックしてみると、すべてが完璧に見えました。とても混乱しています。ついにifドアができて正しいようです!これは最後の部分です:
#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
このエラーの原因は何ですか?
答え1
診断「予期しないファイルの終わり」if
一致しないか終了していないオープン構文構造(w / o fi
、do
w / o done
、関連する閉じ括弧のない左括弧、開いているが終了していない引用符など)があることを示唆しています。この場合、スクリプトの終わりを指す行番号は構文構造を確認する以外には役立ちません。エラーはコードのどこにでも表示できます。ぜひご確認ください。