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

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

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

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

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

解决方法:

执行下面指令

sed -i 's/r$//' build_android.sh

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

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

chmod +x build_android.sh

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注