在使用sqoop将数据从mysql同步到hive时,编写shell脚本执行shell命令时报错.
这些语句直接使用命令行执行时运行结果正常,同样的语句执行sh文件时却报错.
修改参数和格式等方法都没有起到作用.
在想第一行为什么没有报错,从第二行开始一直报错, 但实际上语句是没有语法错误的.
隐约想起好像之前听人说过换行符的问题, 便决定一试,结果果然好了.
解决方法:因为在windows中的换行符为 \r\n, linux 中换行符为 \n,使用Notepad++将换行符进行替换.
附:shell脚本执行步骤 :
1.使用rz上传文件到linux(安装命令:yum -y install lrzsz)
2.修改脚本权限,增加可执行:chmod u+x sqoop3.sh
3.在当前目录下执行脚本: ./sqoop.sh(如果没有修改权限,可使用sh sqoop3.sh命令运行脚本)文章来源:https://www.toymoban.com/news/detail-648264.html
文章来源地址https://www.toymoban.com/news/detail-648264.html
到了这里,关于执行shell脚本时windows和linux换行问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!