syntax error: unexpected end of file  

linux 下 出现此种错误 有可能有以下几种原因:
1。换行符问题
     没有使用unix换行符
     解决办法:
vi check_mem.sh         
:set fileformat=unix
 :wq
在vi里用
 :1, $ s/^M//
替换掉^M           
2。 没有结束标记
     如if之后没有fi
        for 循环 do之后没有done
        while 循环 do这后没有done  
3。oracle sqlplus 没有正确结尾
        sqlplsu ......         <<EOF
         EOF
        要求结尾的EOF必须顶格写。