Linux下的bash脚本是不支持换行符\r
的,如果运行从windows拷贝的文件,出现/bin/bash^M: 坏的解释器: 没有那个文件或目录
这样的错误提示,不妨检查下文件格式是否有误。
如果是格式问题,有如下两种方法:
一、查找替换法
- 第一步:
cat -A filename
查看‘\n及
\r空白符,
\n会显示为
$,而
\r会显示为
^M`。 - 第二步:
sed -i ‘s/\r$//‘filename
替换掉全部\r
字符。
二、VIM重置文档格式
- 第一步:
:set ff?
查看文件格式,能看到fileformat=dos
这样的提示。 - 第二步:
:set ff=unix
强制转换为unix格式。 - 第三步:
:wq
保存退出。
然后再次运行看看是否还出现同样的错误,如果仍有错,就该检查语法和相关命令是否正确了。
参考:
- http://www.2cto.com/os/201310/252970.html
- http://blog.csdn.net/yongan1006/article/details/8142527
时间: 2024-08-06 21:11:01