美文网首页
Linux执行.sh脚本文件报错:bad interpreter

Linux执行.sh脚本文件报错:bad interpreter

作者: 勿念及时雨 | 来源:发表于2019-10-29 18:12 被阅读0次

问题

在windows下使用记事本打开deploy.sh文件,编写.sh脚本,保存后拷贝到Linux服务器上,执行后报如下错误。

[root@i-dbb1f0ff shell]# ./deploy.sh
-bash:./deploy.sh:/bin/bash^M:bad interpreter:No such file or directory

原因

.sh脚本在windows系统下编写,因此可能存在不可见的字符。从上面的错误提示来分析,原因应该是脚本文件是DOS格式的,即每一行的行尾都是以\r\n来标识,其ASCII码分别是0x0D,0x0A。

解决方案

要解决这个问题,其实方法也很简单,只需要把文件格式改为UNIX就行了。具体步骤如下:
1.使用vim deploy.sh命令进入编辑模式。
2.快捷键shift+:进入命令模式,然后使用命令set ff查看文件格式,如果输出fileformat=dos说明文件格式是DOS的。
3.使用命令set ff=unix将文件格式由DOS改为UNIX,再次set ff,检查是否修改成功。
4.再次执行.sh脚本,如果能执行成功,说明问题已经解决。

相关文章

网友评论

      本文标题:Linux执行.sh脚本文件报错:bad interpreter

      本文链接:https://www.haomeiwen.com/subject/bmmgvctx.html