您的位置:首页 > 其它

unexpected end of file,设置fileformat即可

2014-06-23 12:07 351 查看


Linus Shell syntax error: unexpected end of file

这种错误都是没有结束标记造得的

如if之后没有fi

for 循环 do之后没有done

while 循环 do这后没有done

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

用另外的解决办法,更简单:

在win环境下用editplus将bash文件转为unix文件再上传即可,方法:

1. editplus 2.12 中文版 下,选菜单“格式”--“文件格式” -- “Unix”

2. editplus 3.12 英文版下,选菜单 “Document”-- “File Format(CR/LF)” -- “Change File Format...”-- “UNIX”-- “OK”

其它版本或其它软件的话自己对照吧,记事本是没这选项的 在VI的命令模式下输入“:set nu”

或修改vi设置文件“vi ~/.vimrc”,在其中添加“set nu”

在VI的命令模式下输入“:set nu”,就有行号了。

不过想将这个设置写进VI的设置文件,就

# vi ~/.vimrc

在这个文件中,添加

set nu

就行了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐