/bin/bash^M: 坏的解释器: 没有那个文件或目录(bad interpreter: No such file or directory)

在Linux下编译cocos2d-x运行脚本的时候出现”/bin/bash^M: 坏的解释器: 没有那个文件或目录(bad interpreter: No such file or directory)“这样的错误如下图。

解决方法:

使用在终端输入sed -i ‘s/\r$//‘ make-all-linux-project.sh即可

其中make-all-linux-project.sh为我的文件名,这里改成自己需要的即可

原因:

这个文件在Windows 下编辑过,在Windows下每一行结尾是\n\r,而Linux下则是\n

sed -i ‘s/\r$//‘ make-all-linux-project.sh 会把make-all-linux-project.sh中的行尾的\r替换为空白

时间: 2024-12-30 04:08:10

/bin/bash^M: 坏的解释器: 没有那个文件或目录(bad interpreter: No such file or directory)的相关文章

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

在windows 下编辑的shell 脚本在linux下运行时,报"没有这个文件或目录",原因在于 两个系统的换行符不一致导致. 解决方法: 使用在终端输入sed -i 's/\r$//' make-all-linux-project.sh即可 其中make-all-linux-project.sh为我的文件名,这里改成自己需要的即可 原因: 这个文件在Windows 下编辑过,在Windows下每一行结尾是\n\r,而Linux下则是\n sed -i 's/\r$//' make-

/bin/sh^M: 坏的解释器: 没有那个文件或目录

有时候编写脚本时会出现类似标题列出的错误,这个问题大多数是因为你的脚本文件在windows下编辑过. windows下,每一行的结尾是\n\r,而在linux下文件的结尾是\n,那么你在windows下编辑过的文件在linux下打开看的时候每一行的结尾就会多出来一个字符\r,用cat -A urfile时你可以看到这个\r字符被显示为^M,这时候只需要删除这个字符就可以了. 可以使用命令sed -i 's/\r$//' urfile .

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

PS背景:我在公司做sdk 的pc端开发,所以经常会在win下编译通过之后跑到linux下再运行一次已确保能支持多平台. 今儿在win下跑完一程序,然后放到linux下跑的时候,我用指令: [plain] view plain copy sudo ./build.sh 但是却没有任何反应.于是我换了指令,用 [plain] view plain copy chmod u+x build.sh ./build.sh 报错 "build.sh  /bin/bash^M: 坏的解释器:没有那个文件或目

linux下编译make文件报错“/bin/bash^M: 坏的解释器,使用grep快速定位代码位置

一.linux下编译make文件报错"/bin/bash^M: 坏的解释器 参考文章:http://blog.csdn.net/liuqiyao_01/article/details/41542101#comments 自己测试的结果: [1]使用windows 下的编辑工具 新建文件doc2unix.sh #!/usr/bin/env bash # test PID=$(ps -aef | grep nginx | grep -v grep | grep master |awk '{print

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

PS背景:我在公司做sdk 的pc端开发,所以经常会在win下编译通过之后跑到linux下再运行一次已确保能支持多平台. 今儿在win下跑完一程序,然后放到linux下跑的时候,我用指令: sudo ./build.sh 但是却没有任何反应.于是我换了指令,用 chmod u+x build.sh ./build.sh 报错 "build.sh  /bin/bash^M: 坏的解释器:没有那个文件或目录". 以前遇到这个问题,换了几种编译方法就解决了,单这次还是不行,于是又换:bash

/bin/bash^M:损坏的解释器: 没有那个文件或目录

由于在Windows下换行是\n\r,在Linux下打开多了\r,所以需要删除.删除命令 :sed -i 's/\r$//' filename -i插入 s替代模式 \r$表示任何以\r结束的字符 整句意思是把以\r结束的字符换成空白 参考: bash: ./t.sh:/bin/bash^M:损坏的解释器: 没有那个文件或目录 Error处理:/bin/bash^M: 坏的解释器: 没有该文件或目录(bad interpreter: No such file or directory)

CentOS安装软件出现错误:bash: /usr/local/bin/rar: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory

CentOS安装软件出现错误: bash: /usr/local/bin/rar: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directorygoogle了一把才发现是64位系统中安装了32位程序解决方法:yum install glibc.i686 重新安装以后还有如下类系错误 再继续安装包 error while loading shared libraries: libstdc++.so.6: cannot open

-bash: ./****.py: /usr/bin/python^M: bad interpreter: No such file or directory

在windows系统下写的python脚本,在linux下赋予权限chmod +x xxx.py 以后,执行./xxx.py运行提示:bash: /usr/bin/autocrorder: /usr/bin/python^M: bad interpreter: No such file or directory 更多文章请点击我 分析: 这是不同系统编码格式引起的:在windows系统中编辑的.sh .py文件可能有不可见字符,所以在Linux系统下执行会报以上异常信息.一般是因为windows

Shell脚本报错:-bash: ./switch.sh: /bin/bash^M: bad interpreter: No such file or directory

在学习shell中测试case参数命令代码如下 #!/bin/bash #switch测试 case $1 in     start)         echo 'start'     ;;     stop)         echo 'stop'     ;; esac 在给当前shell脚本赋予了执行权限之后,执行报错代码如下 [[email protected] sh]# ./switch.sh stop -bash: ./switch.sh: /bin/bash^M: bad inte