Shell报错syntax error: unexpected end of file
程序员文章站
2022-03-03 17:48:06
...
执行shell脚本文件,报错syntax error: unexpected end of file
。
使用vim工具打开脚本文件,却并没有发现有什么问题。
vim hello.sh
但是只需要使用vim+参数的方式打开该文件,就会发现一些端倪。
vim -b hello.sh
在每一个shell
语句的末尾,都多了一个^M
的标志,这其实是因为该文件是在windows
环境下编写,然后传输到Linux
环境来的,但是因为windows
环境的文本有\r
的回车标识,在Linux
环境下就会出现不兼容的问题。
解决方法:
1、只需要把^M
的标志符删除,该脚本文件即可正常执行。不过这种方法只适用于少量文本,如果是大量的脚本代码,这显然是不适用的。
2、通过命令的方式,将shell文件的格式改为unix。
vim hello.sh
:set fileformat=unix
:x
使用
vim
编辑文本的时候,不要使用-b
参数,否则是无法将shell
文件的文件格式修改为unix
的。
推荐阅读
-
PHP错误Parse error: syntax error, unexpected end of file in test.php on line 12解决方法
-
PHP Parse Error: syntax error, unexpected $end 错误的解决办法
-
PHP syntax error, unexpected $end 错误的一种原因及解决
-
PHP syntax error, unexpected $end 错误的一种原因及解决
-
php报错syntax error, unexpected T_GOTO, expecting T_STRING,报错文件与行数指向以上代码,是什么原因
-
Parse Error: syntax error, unexpected $end 错误_PHP教程
-
Parse Error: syntax error, unexpected $end 错误
-
CentOS7运行.sh脚本提示syntax error: unexpected end of file的解决方法
-
PHP Parse Error: syntax error, unexpected $end 错误的解决办法
-
PHP错误Parse error: syntax error, unexpected end of file in test.php on line 12解决方法