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(保存退出)
再次执行即可
编码问题,如果是安装脚本的话,也有可能是平台的架构问题,哈哈~
文件的编码格式,默认情况下不是由系统自身去决定的么?平台的架构会有什么影响?举个例子说说~,QAQ仰望老司机