回忆之城
生命在于折腾
posts - 575,comments - 9,trackbacks - 0

之所以称作拦路虎,是因为这个问题困扰了一天。

决定开始学习shell,在windows上用虚拟机装好redhat linux,完成网络配置,能与我的windows交互了。其它也不需要配。

开始学习bash,每次测试代码都在windows下写好,然后传到linux上执行。

在学习到if 等流程控制的语法的时候,我遇见了第一个难题写的 if 的测试总是不正确:“if.sh: line 11: syntax error: unexpected end of file ”。

----------------------------------------------------------------------------

这个问题解决方案如下:学shell还是用vi或vim吧!

----------------------------------------------------------------------------

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 格式

 

----------------------------------------------------------------------------

 

<!--EndFragment-->

 

 

<!--EndFragment-->

posted on 2014-04-27 00:00 回忆之城 阅读(187) 评论(0)  编辑 收藏 引用 所属分类: unix/linux
只有注册用户登录后才能发表评论。