不少使用用linux 的朋友在写好脚本,上传到了linux系统,执行发现会报错。就是常见的 syntax error: unexpected end of file
但是又好像发现不了错误在哪里。很郁闷啊,其实如果认真排查的话就容易找出来,文件结尾出现了不期望的,语法错误
那就是因为windows上用文本文件编写的脚本,它的文件格式是dos类型的,移植到linux平台是不识别的。
解决办法就是:
1. 先查看该脚本的当前格式; 命令: set fileformat, 回车会显示当前脚本的文件格式,如果是dos就需要转换为unix
2.转换格式为unix; 在vi的末行模式下输入 : set fileformat=unix 保存重新执行就解决了。
3. 测试脚本是否存在语法错误; sh -n aaa.sh 如果有语法不符合要求就提示出来,语法存在错误是不能执行的。