转 CentOS6 Shell脚本/bin/bash^M: bad interpreter错误解决方

场景说明:今天网上找了一个备份mysql的shell脚本,在windows下新建了一个文件,把脚本复制进去,然后保存成.sh文件,上传服务器执行,提示:-bash: ./backup_mysql.sh: /bin/bash^M: bad interpreter: 没有那个文件或目录.


原因说明:网上找了资料才知道
如果这个脚本在Windows下编辑过,就有可能被转换成Windows下的dos文本格式了,这样的格式每一行的末尾都是以\r\n来标识,它的ASCII码分别是0x0D,0x0A。如果你将这个脚本文件直接放到Linux上执行就会报/bin/bash^M: bad interpreter错误提示。


解决方法:

用vi命令打开文件

vi backup_mysql.sh

然后:

:set ff?

命令检查一下,看看是不是dos字样,如果是dos格式的,继续执行
:set ff=unix
然后执行
:wq
保存退出即可。

猜你喜欢

转载自my.oschina.net/u/2246523/blog/681904