/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  『\n\r 』表示换行 unix / linux  『\n』 表示换行

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

解决方法:

执行下面指令

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

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

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

chmod +x build_android.sh

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值