码迷,mamicode.com
首页 > 系统相关 > 详细

解决 linux下编译make文件报错“/bin/bash^M: 坏的解释器:没有那个文件或目录” 问题

时间:2016-08-04 21:25:06      阅读:267      评论:0      收藏:0      [点我收藏+]

标签:

      PS背景:我在公司做sdk 的pc端开发,所以经常会在win下编译通过之后跑到linux下再运行一次已确保能支持多平台。

        今儿在win下跑完一程序,然后放到linux下跑的时候,我用指令:

[plain] view plain copy

技术分享技术分享

  1. sudo ./build.sh 

但是却没有任何反应。于是我换了指令,用

[plain] view plain copy

技术分享技术分享

  1. chmod u+x build.sh  
  2. ./build.sh 

报错 “build.sh  /bin/bash^M: 坏的解释器:没有那个文件或目录”。 以前遇到这个问题,换了几种编译方法就解决了,单这次还是不行,于是又换:
bash build.sh

编译的时候报错 :

技术分享

后来一想 \r 这个符号怎么出现的,于是各种百度,才知道原因可能是因为我在win下操作的时候,修改到了此文件。

        在win下编辑的时候,换行结尾是\n\r , 而在linux下 是\n,所以才会有 多出来的\r

        用指令:

[plain] view plain copy

技术分享技术分享

  1. sed -i ‘s/\r$//‘ build.sh 

        会把 build.sh 中的\r 替换成空白!

        再次编译!成功!!

PS:写在后面

参考文章:http://www.educity.cn/wenda/153393.html

一楼大牛提议,有一个dos2unix的软件,我一看果然好用!感谢CedarDiao  大牛!

解决 linux下编译make文件报错“/bin/bash^M: 坏的解释器:没有那个文件或目录” 问题

标签:

原文地址:http://www.cnblogs.com/shiningrise/p/5738281.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!