【Linux】解决shell脚本中syntax error:unexpected end of file问题

背景

平时自己设计shell脚本或修改服务器自带的脚本后,执行或者source的是否会出现了syntax error: unexpected end of file的错误。

可能出现的问题

  1. 格式:shell脚本是在window系统下写完,然后传到linux系统时出现,可以使用系统文件格式转化:dos2unix
    可以在编vim模式下查看文件格式:vim ->命令模式 -> set ff 回车,看下结果fileformat
dos2unix                         # 将文件格式转化

vim编辑下
:set ff                          # 在vim中查看文件的系统格式
:set fileformat=unix             # 在vim中将系统文件格式改为unix
  1. 内容:如果上面的dos2unix命令后,执行还是出现报错,那就不是文件格式的问题了,而是代码层级的问题了
    因为没有lint代码规范提示,所以你的shell脚本内容,需要从头到尾检查下:
    a. if...else...fifor...donefor...if...fi...done等结构的上下结构闭合是否完整
    b. 闭合结构型代码的开始结尾是否有其他多余字符

以上操作,应该就可以解决此问题

你可能感兴趣的:(Linux,linux,shell)