欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Shell报错syntax error: unexpected end of file

程序员文章站 2022-03-03 17:48:06
...

执行shell脚本文件,报错syntax error: unexpected end of file

使用vim工具打开脚本文件,却并没有发现有什么问题。

vim hello.sh

Shell报错syntax error: unexpected end of file

但是只需要使用vim+参数的方式打开该文件,就会发现一些端倪。

vim -b hello.sh

Shell报错syntax error: unexpected end of file

在每一个shell语句的末尾,都多了一个^M的标志,这其实是因为该文件是在windows环境下编写,然后传输到Linux环境来的,但是因为windows环境的文本有\r的回车标识,在Linux环境下就会出现不兼容的问题。

解决方法:

1、只需要把^M的标志符删除,该脚本文件即可正常执行。不过这种方法只适用于少量文本,如果是大量的脚本代码,这显然是不适用的。

2、通过命令的方式,将shell文件的格式改为unix。

vim hello.sh
:set fileformat=unix
:x

使用vim编辑文本的时候,不要使用-b参数,否则是无法将shell文件的文件格式修改为unix的。

相关标签: Linux linux shell