You need to enable JavaScript to run this app. Linux构建代码报' ': command not found错误且不可修改文件的解决方案咨询
优惠活动
大模型
产品
解决方案
定价
更多

Linux构建代码报' ': command not found错误且不可修改文件的解决方案咨询

方案可行性确认

1. igncr选项适配性

Linux原生Shell不支持igncr选项,该选项为Cygwin、MSYS2(含Git Bash)的专属兼容参数,仅在Windows类终端环境生效,无法在Linux工作站的Docker容器内使用,该方案不适用当前场景。

2. Git配置修改操作说明

你当前的core.autocrlf=true配置是Windows端Git的默认配置,会在拉取代码时将仓库内的LF换行符自动转换为Windows标准的CRLF,导致你传输到Linux的文件携带多余\r字符触发报错。
修改为git config --global core.autocrlf input是可行方案,该配置会实现提交时自动将本地CRLF转换为LF,拉取代码时不做换行符转换,保障本地文件为LF格式,传输到Linux不会出现换行符冲突。
修改配置后需要重新克隆仓库:现有本地仓库的文件换行符不会随配置修改自动变更,你可以选择重新克隆完整仓库生效,也可以在备份未提交的本地修改后,执行git rm --cached -r . && git reset --hard重置现有仓库的文件格式,无需重新克隆。

其他无需修改源文件的解决方案

  • 构建环境临时转换:在Docker构建步骤或Linux构建脚本开头添加批量转换命令,仅处理构建环境的临时文件,不影响仓库源文件,参考命令:
    # 可根据实际脚本后缀修改匹配规则
    find . -type f \( -name "*.sh" -o -name "*.py" \) -exec dos2unix {} \;
    
  • 脚本执行时忽略CR:使用支持该参数的Bash版本执行脚本时,临时添加-o igncr参数即可忽略\r字符,无需修改文件内容,示例:bash -o igncr build.sh
  • 传输环节自动转换:若使用rsync同步代码到Linux工作站,可添加--crlf参数在传输过程中自动将CRLF转换为LF,不修改本地源文件。

内容的提问来源于stack exchange,提问作者KansaiRobot

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.13 06:12:03