问题描述
在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查看即可
更改完成后正常使用就好了