macOS終端報(bào)錯(cuò)syntax error: unexpected end of file的問題debug過程及一種解決方法
(認(rèn)知有限,如有不妥,還請告知,歡迎討論)
運(yùn)行TLCL里的范例程序時(shí)遇到的問題
問題復(fù)現(xiàn)
將http://billie66.github.io/TLCL/book/chap30.html這里的第二個(gè)while循環(huán)例子的代碼直接復(fù)制進(jìn)vi創(chuàng)建的腳本文件while_sample4.sh后,將腳本文件運(yùn)行,出現(xiàn)報(bào)錯(cuò)
./while_sample4.sh: line 41: syntax error: unexpected end of file
debug過程
將錯(cuò)誤line 41: syntax error: unexpected end of file扔上谷歌和百度后,大部分的答案是和編寫腳本時(shí)所用的OS有關(guān),由于是在macOS的終端寫的[1],故不屬于這個(gè)問題。
然后翻到這個(gè)帖子[2], 對照檢查了if和fi的個(gè)數(shù),沒有問題。
然后檢查縮進(jìn),發(fā)現(xiàn)將_EOF_前的縮進(jìn)刪除,腳本則可順利運(yùn)行
對比
原_EOF_:

刪除掉_EOF_前面的縮進(jìn)后:

=END=
=reference=
[1]https://en.wikipedia.org/wiki/MacOS
[2]https://stackoverflow.com/questions/9886268/shell-script-syntax-error-unexpected-end-of-file
[3]http://billie66.github.io/TLCL/book/chap26.html