这两天做docker镜像,发现打包进镜像的sh脚本运行不起来,进入镜像后vi打开sh脚本,发现每一行后边都多了个^M字符,后来一查询原来是win10下使用notepad++写脚本,没有转换成正确的unix格式造成的,记录一下解决办法,在win下编写sh脚本时都要注意一下。
1、首先在编码项中,采用UTF-8-BOM编码
2、编辑->文档格式转换->转为Unix
3、如果不想在win系统里转,也可以在linux服务上运行如下命令来进行转换
linux中sh脚本去掉^M的方法
dos2unix filename