Linux下的bash脚本是不支持换行符\r
的,若是运行从windows拷贝的文件,出现/bin/bash^M: 坏的解释器: 没有那个文件或目录
这样的错误提示,不妨检查下文件格式是否有误。html
若是是格式问题,有以下两种方法:windows
1、查找替换法bash
cat -A filename
查看\n
及\r
空白符,\n
会显示为$
,而\r
会显示为^M
。sed -i 's/\r$//'filename
替换掉所有\r
字符。2、VIM重置文档格式.net
:set ff?
查看文件格式,能看到fileformat=dos
这样的提示。:set ff=unix
强制转换为unix格式。:wq
保存退出。而后再次运行看看是否还出现一样的错误,若是仍有错,就该检查语法和相关命令是否正确了。unix
参考:code