问题描述

在windows编译的sh脚本发送到linux启动运行时所产生的错误

-bash: ./swap.sh: /bin/bash^M: bad interpreter: No such file or directory

报错图片

报错原因

sh脚本在windows下编译成时,会产生不可见字符,大部分sh脚本的错误是因为DOS的格式,即每一行的行尾以rn来标识, 其ASCII码分别是0x0D, 0x0A。

解决方法

用vim进入脚本,使用set ff或者set fileformat来查看文件格式
(键盘左上方按下esc然后按出:wq(保存指令):set ff(查看格式)
错误格式
将dos改成unix格式,使用set ff=unix或者set fileformat=unix,之后在使用set ff查看即可
更改完成
更改完成后正常使用就好了

Last modification:July 1st, 2020 at 09:11 pm
如果觉得我的文章对你有用,请随意赞赏