发布于 2014-12-07 14:31:53 | 504 次阅读 | 评论: 1 | 来源: PHPERZ

这里有新鲜出炉的Linux常用命令,程序狗速度看过来!

Linux

Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。


本文为大家讲解的是 linux下编译make文件报错“/bin/bash^M: 坏的解释器:没有那个文件或目录” 的解决方法,感兴趣的同学参考下

错误描述:

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

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

sudo ./build.sh  

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

chmod u+x build.sh 
./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 替换成空白!

再次编译!成功!!

其他解决方法:

用dos2unix,emeditor之类的编辑器进行转码

如下图用emeditor进行转换



相关阅读 :
linux下编译make文件报错“/bin/bash^M: 坏的解释器:没有那个文件或目录” 的解决方法
linux下编译.sh文件报错 “[: XXXX: unexpected operator”解决方法
linux mount报错:you must specify the filesystem type的解决方法
windows下建立文件的换行符^M导致linux下的shell脚本运行错误的解决方案
.sh文件执行错误:-bash: xxx: /bin/sh^M: bad interpreter: No such file or directory 解决方法
linux下SHELL错误 syntax error:unexpected end of file 解决方法
linux登录错误:-bash: ulimit: open files: cannot modify limit: Operation not permitted解决方法
linux "command-not-found has crashed" 问题解决办法
linux 根目录爆满但du看目录总占用不多问题
Linux 出现telnet: 127.0.0.1: Connection refused错误解决办法
关于安装linux redhat后无法使用yum命令安装gcc-c++问题的解决过程
Linux网络启动问题:Device does not seem to be present解决办法
最新网友评论  共有(1)条评论 发布评论 返回顶部
fpfut 发布于2016-07-14 10:25:33
还能再仔细点吗?
支持(0)  反对(0)  回复
月排行榜

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  服务