sed—在linux 中执行脚本的时候出现: /bin/bash^M: bad interpreter: No such file or directory

原创 2016年08月31日 09:58:24

原因及方法:

问题原因

linux 和 windows 的回车换行符不同,脚本在 windows 下面编辑过,导致回车换行符 变成了 \r\n ,而 linux 中只有换行符 \n, 没有回车符。

windows创建的文件是 \r\n 结束的, 而 linux是以 \n 结束的。
所以unix的文本到windows会出现回车符丢失; 而反过来就会出现 ^M 的符号了

解决方法

sed -i -e 's/\r$//' my_script.sh

就是找到以 \r 结尾的字符串,并且字符串将 \r 替换为 空


完整释义:

sed is stream editor, but can edit files directly too, with the following:

sed -i -e 's/foo/bar/g' filename

s is used to replace the found expression “foo” with “bar”

g stands for “global”, meaning to do this for the whole line. If you leave off the g and “foo” appears twice on the same line, only the first “foo” is changed to “bar”.

-i option is used to edit in place on filename.

-e option indicates a command to run.

版权声明:本文为博主原创文章,未经博主允许不得转载。

sudo su "Cannot execute bash: No such file or directory"

本人Ubuntu 12.0 LTS,今天更新了下bash
  • yjjy0921
  • yjjy0921
  • 2014年09月28日 16:09
  • 2813

/bin/bash^M: bad interpreter: No such file or directory

执行一个脚本full_build.sh 时, 一直是提示我: -bash: ./full_build.sh: /bin/bash^M: bad interpreter: No such file o...
  • esther0401
  • esther0401
  • 2012年03月16日 16:28
  • 43361

/bin/bash^M: bad interpreter: 没有那个文件或目录

运行脚本时出现了这样一个错误,打开之后并没有找到所谓的^M,查了之后才知道原来是文件格式的问题,也就是linux和windows之间的不完全兼容。。。 具体细节不管,如果验证: vim tes...
  • yongan1006
  • yongan1006
  • 2012年11月02日 23:00
  • 40466

shell脚本报错 /bin/bash^M: bad interpreter

在windows下保存了一个脚本文件,用ssh上传到centos,添加权限执行nginx提示没有那个文件或目录。 shell脚本放到/etc/init.d/目录下,再执行/etc/init.d/ng...
  • m18611233365
  • m18611233365
  • 2015年09月24日 10:50
  • 567

在Linux中执行.sh脚本,/bin/sh^M: bad interpreter: No such file or directory

在Linux中执行.sh脚本,异常/bin/sh^M: bad interpreter: No such file or directory。 最快的解决方案:dos2unix myshell.sh分...
  • siling4
  • siling4
  • 2010年12月06日 09:36
  • 3725

-bash: ./start.sh: /bin/sh^M: bad interpreter: No such file or directory 错误解决方案

问题描述:sh文件中,在win环境下,用WinSCP编辑,出现如下错误: -bash: ./start.sh: /bin/sh^M: bad interpreter: No such file or...
  • lizhengnanhua
  • lizhengnanhua
  • 2016年06月21日 02:33
  • 3322
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:sed—在linux 中执行脚本的时候出现: /bin/bash^M: bad interpreter: No such file or directory
举报原因:
原因补充:

(最多只允许输入30个字)