已关闭
download_dependencies.sh 中 $target_dir 在赋值前被引用,防重名自覆盖的判断实际恒为真 #65
崇理战队创建于 8月13日关闭于 8月31日
xiangjie10
8月13日 评论:
8月13日 评论:
👋 您好,感谢向 OMSDK 提交 Issue!
🎉 我们已收到您的反馈,感谢你对开源社区的支持!
📅 处理时效 维护团队将在工作日 24 小时内查看并回复您的问题。
🔍 自助排查(推荐优先查看) 在等待回复期间,您可以先查阅仓库README以及历史 Issue 中相似问题的解决方案,多数问题可快速解决。
💡 为了更快定位问题,请您确保 Issue 包含:
- 清晰的问题描述
- 可复现的操作步骤
- 相关日志、截图或环境信息
我们会尽快跟进,感谢您的理解与配合!


xiangjie10
8月13日 评论:
8月13日 评论:
/label add triaged


8月13日 添加了label:triaged
xxzzqqvvqq
8月27日 评论:
8月27日 评论:
您好!经过开发人员确认,您反馈的问题真实存在。我们将尽快修复这一问题。再次感谢您的宝贵意见!


8月28日 关联了pull request:bugfix:修复download_dependencies.sh中target_dir变量定义错误的问题
8月29日 关联了pull request:bugfix:修复download_dependencies.sh中target_dir变量定义错误的问题
src/om/platform/MindXOM_SDK/build/download_dependencies.sh::download_each:local repo_dir="$repo_name" ... git clone --depth 1 --branch "$tag" "$repo_url" if [ $# -eq 4 ] && [ "$repo_dir" != "$target_dir" ] ; then local target_dir="$4" rm -rf "$target_dir" mv "$repo_dir" "$target_dir" fi$target_dir在if条件里就被引用,但它的赋值(local target_dir="$4")在 then 分支内部。判断执行时target_dir尚未定义(函数局部作用域内为空串),所以[ "$repo_dir" != "$target_dir" ]退化为[ "$repo_dir" != "" ],恒为真——这个本意是"目标目录与仓库目录相同时跳过 rm/mv、防止把刚 clone 的目录删掉"的保护完全失效。一旦调用方传入的第 4 个参数与仓库名相同,流程会变成
rm -rf掉刚 clone 出来的目录、随后mv失败(set -e下直接中断构建),而保护条件形同虚设。修复很直接:把
local target_dir="$4"提到if之前再做比较即可。