1.问题描述
- 项目中我为springboot项目部署准备了启动脚本start.sh,有时候启动正常,有时候启动报错,报错如下图:
- 从gitlab上检查start.sh脚本源码,并没有发现有
\r
字符
2.原因排查
- 从打好的zip里解压出start.sh,然后在git bash中通过
od -c start.sh
查看文件内容,发现文件内容确实有\r
字符: - gitlab源码上没有
\r
,而打好的包里有\r
,从gitlab到打包步骤仅仅是通过windows git bash把代码clone下来然后mvn打包,所有怀疑是不是windows clone时被git转换了换行符\n
->\r\n
? - 进过一番搜索,确实是git有一个配置参数来控制是否进行换行符转换:
git config --global core.autocrlf false
禁用自动转换git config --global core.autocrlf true
开启自动转换git config --list
可查看当前git的配置项
3.解决方法
-
git config --global core.autocrlf false
禁用自动转换 - 删除本地项目,重新clone然后mvn打包,问题解决~~~
看似小问题排查了好久,汗-_-!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。