问题描述:

运行脚本时报如下错误:
/bin/bash^M: bad interpreter: No such file or directory
报错提示

解决方案:

1、猜想

在linux执行脚本时出现类似上述的问题,可能是由于shell脚本文件是dos格式,每一行结尾以\r\n来标识,而unix格式的文件行尾以\n来标识,因此运行出错。

我们在互联网网站上下载的脚本文件或者在Windows上编写完成后的脚本文件上传到Linux系统执行,经常会出现类似问题,请用下述方式排查和解决即可。

2、排查

利用 :set ff查看文件是否是dos格式
:set ff
如图所示,该脚本文件为dos文件格式,故无法正常运行
查看文件格式

3、解决

利用:set ff=unix修改文件格式为unix,并保存退出,再次运行该脚本即可
修改文件格式

保存退出

最后修改:2020 年 10 月 28 日
分享是对我最大的赞赏