今天寫了個較長的shell腳本,結構嵌套比較多,最后運行時,出現了syntax error: unexpected end of file的錯誤。
這個之前碰到過,經常在win系統轉移腳本文件到unix系統時出現,但這次我是在Linux環境中寫的,不存在這個問題,改了試也沒用。關於系統文件格式轉化:
dos2unix #command line
:set ff #在vim中查看文件的系統格式
:set fileformat=unix #在vim中將系統文件格式改為unix
在網上查了一圈,全部都是文件格式錯誤的答案!程序人生CSDN中的答案真是爛透了,抄來抄去解決不了問題。
最后在StackOverflow中查到一條建議:數一數if...fi和for...done的數目是不是一致的。因為結構比較復雜,還真是在某一處查到少了個fi,最后解決。
衷心建議:代碼縮進要規范;查找錯誤不要用中文;有事沒事找StackOverflow。
Ref: https://stackoverflow.com/questions/9886268/shell-script-syntax-error-unexpected-end-of-file
