start.sh启动报错

start.sh启动脚本


问题: Linux环境下执行脚本时报错:/bin/bash^M: 坏的解释器: 没有那个文件或目录

解决方案


方案1
我在Windows 10 系统下编辑了一个发送消息到企业微信的shell脚本文件,然后copy到了远程的Linux服务器,当运行的时候报错了。如下所示:

这个文件在Windows 下编辑过,在Windows下每一行结尾是\n\r,而Linux下则是\n,所以才会有 多出来的\r。
使用指令sed -i 's/\r$//' start.sh,上面的指令会把start.sh中的\r 替换成空白!
实操一下:

sed -i 's/\\r$//' start.sh


方案2
vim.start.sh
set ff
看下文件的格式 如果dos说明有问题
dos格式 fileformat=dos
修改format
set ff=unix

执行完之后再看 set ff 的值是 unix就对了
ileformat=unix