Linux执行shell脚本提示bad interpreter

第一次遇到在linux中执行shell脚本遇到"/bin/bash^M: bad interpreter: No such file or directory",一开始还以为是脚本头部哪个字母写错了,结果并不是,经过度娘搜索,找到原因:

不同系统的编码格式不同,在Windows下编写的shell脚本换行方式与Unix是不一样的。

解决方法:

vim filename.sh

末行模式下,查看文件格式

:set ff 或 :set fileformat

可以看到如下信息

fileformat=dos 或 fileformat=unix

利用如下命令修改文件格式

:set ff=unix 或 :set fileformat=unix

:wq(保存退出)

再次执行即可

提醒
cian
游客
cian

编码问题,如果是安装脚本的话,也有可能是平台的架构问题,哈哈~