今天写了个较长的shell
脚本,结构嵌套比较多,最后运行时,出现了syntax error: unexpected end of file
的错误。
这个之前碰到过,经常在win
系统转移脚本文件到unix
系统时出现,但这次我是在Linux
环境中写的,不存在这个问题,改了试也没用。关于系统文件格式转化:
dos2unix #command line
:set ff #在vim中查看文件的系统格式
:set ff=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