关于shell脚本语法错误: 未预期的文件结尾

背景:

shell脚本是在nodepad++中写的,写完需要上传到azkaban上进行调度执行

在azkaban执行脚本的时候,脚本运行报错

语法错误: 未预期的文件结尾

然后我就在脚本中查找问题,看了一圈好像没什么语法问题呀,然后我就把脚本内容直接粘贴到linux系统中创建的空脚本文件,发现运行正常,这个就很纳闷了,直到我发现nodepad++文件中有不同的行结尾格式

原来是不同操作系统下的行结尾不同

windows系统下,每行的结尾为 \r\n (回车 换行)
linux系统下,每行的结尾为 \n (换行)
max系统下 每行的结尾为 \r (回车)

在nodepad++中如何修改行结尾格式

edit–>EOL Conversion —> Windows Format / UNIX/OSX Format /Old Mac Format

如果在linux中操作的文件使用 UNIX/OSX Format,修改完成后会发现文件底部行结尾格式变成了UNIX
在这里插入图片描述
修改保存后,该脚本放到linux系统中或者放到azkaban调度都是可成功执行的。
所以看到诸如 语法错误: 未预期的文件结尾这种错误,如果排除了语法的问题,需要考虑是否是文件本身的问题。

  • 6
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值