解决Linux服务器执行出现-bash: ./xxx.sh: /bin/sh^M: bad interpreter: No such file or directory

解决Linux服务器执行出现-bash: ./xxx.sh: /bin/sh^M: bad interpreter: No such file or directory

1、可能是您的开头脚本命令错误符号问题;一般不常见
2、高概率是由于您所使用的文件格式不兼容,例如你在sublime上编写的脚本,格式是dos的,而在linux操作系统上应该是Unix的,使用vim编辑器打开脚本文件,末行模式执行set ff命令即可
原本在linux操作系统上的文件格式如下图

解决Linux服务器执行出现-bash: ./xxx.sh: /bin/sh^M: bad interpreter: No such file or directory_第1张图片
而在windows编写后上传(Samba服务,VMware共享文件夹或者xftp软件)的文件格式为dos

解决Linux服务器执行出现-bash: ./xxx.sh: /bin/sh^M: bad interpreter: No such file or directory_第2张图片
因此解决方法就是末行模式下执行下面的命令回车即可

set ff=unix

核心原因还是在windows中编辑器的问题,如下图依次是notepad++和sublime text3的格式
解决Linux服务器执行出现-bash: ./xxx.sh: /bin/sh^M: bad interpreter: No such file or directory_第3张图片
解决Linux服务器执行出现-bash: ./xxx.sh: /bin/sh^M: bad interpreter: No such file or directory_第4张图片

你可能感兴趣的:(Bug处理,shell)