博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
解决 linux下编译make文件报错“/bin/bash^M: 坏的解释器:没有那个文件或目录” 问题...
阅读量:5884 次
发布时间:2019-06-19

本文共 548 字,大约阅读时间需要 1 分钟。

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

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

 

sudo ./build.sh

 

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

 

  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

        用指令:

 

sed -i 's/\r$//' build.sh
 

 

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

        再次编译!成功!!

PS:写在后面

参考文章:

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

 

 

 

转载于:https://www.cnblogs.com/gscq073240/articles/9533613.html

你可能感兴趣的文章
postman --发送json请求
查看>>
Linux Shell常用技巧(一) RE
查看>>
linux自己主动重新启动tomcat脚本
查看>>
Ubuntu开机时出现"没有正确安装GNOME电源管理器的默认配置
查看>>
DFS回溯-函数递归-xiaoz triangles
查看>>
js调用soapWebService服务
查看>>
OTA Package Tools
查看>>
JavaWeb学习笔记——jsp:setproperty和getproperty
查看>>
浅谈 SOLID 原则的具体使用
查看>>
【设计模式】抽象工厂模式
查看>>
windows下制作PHP扩展
查看>>
基础知识漫谈(1): 想到哪儿写到哪儿
查看>>
动态链接库dll
查看>>
Spring中 @Autowired注解与@Resource注解的区别
查看>>
PHP ob系列函数详解
查看>>
解决Ckeditor编辑器不显示html实体,自动过滤html的问题
查看>>
spring bean加载顺序指定方式之一
查看>>
SEO 相关知识
查看>>
为什么springMVC和Mybatis逐渐流行起来了?
查看>>
NTVS:把Visual Studio变成Node.js IDE 的工具
查看>>