Linux shell脚本执行后出现语法错误: 未预期的文件结尾
Windows环境下编写了一个shell脚本,上传到Linux环境中执行,Linux shell脚本执行后出现
语法错误: 未预期的文件结尾。
出现了此错误提示,进行了如下的检查:1、检查Shell脚本的语法错误,更正之后再上传Linux系统下运行,错误提示依旧;2、文件结尾删除空行、添加空行;错误提示依旧。3、把shell脚本中的内容直接在命令行中执行,没有问题。
最后的解决方法(简单有效):
从Linux环境下找了一个可以成功执行的Shell脚本,下载到Windows环境下,更改文件名后直接在此基础上添加自己需要的脚本内容。
重新上传Linux环境,执行这个Shell脚本,成功。
后来找到了原因,不同操作系统下的行结尾不同:
windows系统下,每行的结尾为 \r\n (回车 换行)
linux系统下,每行的结尾为 \n (换行)
max系统下 每行的结尾为 \r (回车)