日期:2014-05-16  浏览次数:20625 次

linux 问题
shell入门的拦路虎 syntax error: unexpected end of file问题的解决办法


dos文件转换成 unix 文件格式
     dos 格式 文件 传输到 unix 系统时 , 会在每行的结尾多一个 ^M , 当然也有可能看不到 , 但是在 vi 的时候 , 会在下面显示此文件的格式 , 比如   "dos.txt" [dos] 120L, 2532C 字样 , 表示是一个 [dos] 格式文件 , 如果是 MAC 系统的 , 会显示 [MAC] , 因为文件格式的原因有时会导致我们的 unix 程序 , 或者 shell 程序出现错误 , 那么需要把这些 dos 文件格式转换成 unix 格式 , 方法是
     vi   dos.txt         
     :set fileformat=unix
     :w                       

这样文件就转换成 unix 格式 文件了 ,一般在 windows 机器上编写好了文件传到 unix 下就可能会出现这样的情况 , 而一般我们使用 ftp 命令, 常常会加上 bin 参数表示二进制传输, 可是试一下不加 bin 参数 , 可能传到 unix 下就是 unix 格式


用另外的解决办法,更简单:
在win环境下用editplus将bash文件转为unix文件再上传即可,方法:
1. editplus 2.12 中文版 下,选菜单“格式”--“文件格式” -- “Unix”
2. editplus 3.12 英文版下,选菜单 “Document”-- “File Format(CR/LF)” -- “Change File Format...”-- “UNIX”-- “OK”其它版本或其它软件的话自己对照吧,记事本是没这选项的