如何解决“/bin/bash^M:bad interpreter: No such file or directory

linux下执行shell脚本时报错:-bash: ./a.sh: /bin/bash^M: bad interpreter: No such file or directory。

原因是windows下的文件是dos格式,即每一行结尾以\r\n来标识,而linux下的文件是unix格式,行尾则以\n来标识。
解决方法很简单,首先你先要检查一下看看你的脚本文件是不是这个问题导致的,用vi命令打开要检查的脚本文件,然后用

:set ff?

若执行结果为fileformat=dos则为dos格式,若执行结果为fileformat=unix则为unix格式。
如果是dos格式的,继续执行:

:set ff=unix

然后

:wq

保存退出即可

你可能感兴趣的:(bash,unix,linux)