红联Linux门户
Linux帮助

编译make文件报错/bin/bash^M: 坏的解释器:没有那个文件或目录

发布时间:2017-06-01 14:52:45来源:linux网站作者:671coder
PS背景:我在公司做sdk 的pc端开发,所以经常会在win下编译通过之后跑到Linux下再运行一次已确保能支持多平台。
 
今儿在win下跑完一程序,然后放到linux下跑的时候,我用指令:
sudo ./build.sh
但是却没有任何反应。于是我换了指令,用:
chmod u+x build.sh
./build.sh
 
报错 “build.sh  /bin/bash^M: 坏的解释器:没有那个文件或目录”。 以前遇到这个问题,换了几种编译方法就解决了,单这次还是不行,于是又换:
bash build.sh
 
编译的时候报错:
编译make文件报错/bin/bash^M: 坏的解释器:没有那个文件或目录
 
后来一想 \r 这个符号怎么出现的,于是各种搜索,才知道原因可能是因为我在win下操作的时候,修改到了此文件。
 
在win下编辑的时候,换行结尾是\n\r,而在linux下是\n,所以才会有多出来的\r。
用指令:
sed -i 's/\r$//' build.sh 
会把 build.sh 中的\r 替换成空白!
 
再次编译!成功!
 
本文永久更新地址:http://www.linuxdiyf.com/linux/31205.html