语法错误:意外的文件结尾 — Bash 脚本

Sco*_*rce 21 bash shell-script

我正在尝试创建一个 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
Run Code Online (Sandbox Code Playgroud)

什么可能导致该错误?

Jan*_*nis 33

诊断“意外的文件结尾”提示您有一些不匹配或未终止的开头句法结构(ifw/o fidow/o done、左括号 w/o 相关的结尾、开头但未终止的引号等)。指向脚本末尾的行号在这种情况下没有帮助,除了检查你的语法结构;错误可能在您的代码中的任何地方。你必须检查一下。