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

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

我正在尝试创建一个 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

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

相关内容