问题:
今天首次在azikaban上执行任务,一直报奇怪的错误,shell脚本在本地Linux上执行就没有任何问题,在azikaban上运行就不行,非常奇怪。尝试n遍之后终于出现一个比较靠谱的报错。
–错误:syntax error:unexpected end of file
–原因:其实就是在windows环境下写的脚本中的回车和换行符在Linux下的识别会产生紊乱。
–解决办法:dos2unix filename1,在Linux下运行,直接在源文件上修改。dos2unix命令其实就是将文件中的\r\n 转换为\n。
–结果:把修改后的文件放到azikaban上运行就没有问题了。
思考点:
1、第一次在本地运行没有错误是因为我是把脚本内容复制到了ssh终端自带的编辑器中,估计这个编辑器自动帮我格式化了Windows文件中的回车空格,所以没有发现错误。今后在测试脚本时要注意细节上的不同。
2、坑要慢慢踩
参考:http://www.cnblogs.com/kerrycode/archive/2015/12/26/5077969.html