You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Yocto配方中任务修改变量报错‘VAR: not found’求助

Yocto配方变量赋值报错“VAR: not found”的原因及修复

错误原因

你遇到的问题是shell脚本语法错误导致的:Yocto的do_configure()任务会被解析为shell代码执行,而shell中变量赋值的规则是等号=前后不能有空格。你写的MY_CUSTOM_VAR = "new_value"里,=前后的空格会让shell把MY_CUSTOM_VAR当成独立命令去执行,系统找不到这个命令,因此抛出“not found”错误。

修复代码

把赋值语句的空格去掉即可:

MY_CUSTOM_VAR = "some_value"
 
do_configure() {
    echo "Configuring with MY_CUSTOM_VAR=${MY_CUSTOM_VAR}"
    MY_CUSTOM_VAR="new_value"  # 移除等号前后的空格
    echo "Modified MY_CUSTOM_VAR: ${MY_CUSTOM_VAR}"
}

额外说明

需要注意:这里修改的是do_configure()任务所在shell环境内的变量,不会改变Yocto全局的MY_CUSTOM_VAR配方变量。如果需要修改全局变量,要使用Yocto的变量赋值语法(如在任务外直接赋值),或通过Python API(比如bb.setvar("MY_CUSTOM_VAR", "new_value"))在任务中操作。

内容的提问来源于stack exchange,提问作者Andrea Giga Ravalli

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 20:42:03