脚本格式之殇——/bin/bash^M: 没有那个文件或目录

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

相关文章
相关标签/搜索