快捷搜索: 王者荣耀 脱发

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

在我尝试用Ubuntu编译 FFmpeg源码的时候,需要写一个build_android.sh文件,当时我是在win10系统中编辑的,然后复制到虚拟机中,运行之后会直接报错:

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

错误: bash: ./build_android.sh:/bin/sh^M:解释器错误: 没有那个文件或目录

查找资料后发现原因: 1.dos / windows 和 unix / linux 换行格式编码问题导致,dos / windows 『 』表示换行 unix / linux 『 』 表示换行

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

解决方法:

执行下面指令

sed -i s/
$// build_android.sh

会把 build_android.sh 中的 替换成空白,再次编译,成功!

还有个小问题是执行自己编写的build_android.sh的时候,可能会出现一个权限问题,可以给文件添加可执行的属性:

chmod +x build_android.sh
经验分享 程序员 微信小程序 职场和发展