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

今天在编译新项目SDK的时候碰到这个问题,特此记录一下。
首先我在windows系统里面下载的代码,我尝试在windows下面运行build.sh没什么问题,但由于工具链是linux的,我就把代码拷贝到linux下编译就出现了这个错误。

问题原因
在各操作系统下,文本文件所使用的换行符是不一样的。UNIX/Linux 使用的是 0x0A(LF),但 DOS/Windows 一直使用 0x0D0A(CRLF)作为换行符。Git提供了一个“换行符自动转换”功能。在下载和提交代码的时候,它会自动将换行符进行转换,所以就出现了这个问题。

解决方法
1.使用控制台修改,打开“Git Bash”,然后输入

git config --global core.autocrlf false
git config --global core.safecrlf true

2.修改~/.gitconfig文件,加入或修改下面的行

[core]
    autocrlf = false

其他修改方法

sed -i 's/\r$//' xxx.sh 
dos2unix xxx.sh 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值