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
, 관련 닫는 괄호가 없는 왼쪽 괄호, 열려 있지만 종료되지 않은 따옴표 등)가 있음을 암시합니다 . 이 경우 스크립트 끝을 가리키는 줄 번호는 구문 구조를 확인하는 것 외에는 도움이 되지 않습니다. 오류는 코드의 어느 곳에나 나타날 수 있습니다. 꼭 확인해 보세요.