一、问题描述
1)在windows上编译好项目,拷贝到linux并启动命令,报如下错误:

二、原因
1).sh脚本在windows系统下编写的,所以可能有不可见字符,从上图错误提示来看,很有可能脚本文件是DOS格式的,即每一行的行尾以\r\n来标识, 其ASCII码分别是0x0D, 0x0A。
三、解决方法
1)通过vim filename 或者vi filename 进入编辑,即我这是vim startup_heartbeat.sh

2)然后通过shift+:进入命令模式。接着通过命令set ff 或者 set fileformat 查看文件格式,即我这如下图:从中可以看到我这文件格式是dos。


3)修改文件格式dos为unix。通过命令set ff=unix 或 set fileformat=unix修改,然后再执行set ff 或者 set fileformat,查看是否修改成功。即如下图所示:


4)启动命令,发现正常启动,至此完毕。

本文介绍了一种常见情况,即在Linux环境下运行由Windows系统编译的.sh脚本时遇到的错误,并详细阐述了如何通过Vim编辑器检查和修改脚本的文件格式,从而解决因格式不兼容导致的问题。

3万+

被折叠的 条评论
为什么被折叠?



