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

Bash传递SDK环境变量至Qt sdktool时参数解析失败的解决方法

解决sdktool addKit传递环境变量时的参数解析错误问题

问题原因

你当前通过字符串变量ENV_VALUES传递--env参数的方式会导致Bash对参数进行错误的拆分和引号处理。当变量展开时,Bash会忽略你手动添加的引号,将包含空格的环境变量值拆分成多个独立参数,进而触发sdktool的「Argument parsing failed」错误。

解决方案:使用Bash数组存储参数

正确的做法是用Bash数组来保存所有--env参数,数组会自动保留每个参数的完整性,避免拆分问题。

1. 重新生成环境变量参数数组

替换原来的字符串赋值命令为数组赋值:

# 初始化空数组
ENV_ARGS=()
# 遍历环境文件中的export行,将每个转换为--env参数加入数组
while IFS= read -r line; do
    # 移除export前缀和引号,格式化为VAR=value格式
    cleaned_line=$(echo "$line" | tr -d '"' | sed 's/export //')
    ENV_ARGS+=("--env" "$cleaned_line")
done < "$SDK_PATH/../environment-setup-cortexa53-crypto-veld-linux"

2. 使用数组调用sdktool

在sdktool addKit命令中直接引用数组(注意"${ENV_ARGS[@]}"的写法,双引号和[@]是确保参数正确展开的关键):

sdktool addKit [其他必要参数] "${ENV_ARGS[@]}"

验证方法

可以通过以下命令查看数组中的每个参数是否保持正确格式:

printf "%s\n" "${ENV_ARGS[@]}"

每个--env和对应的环境变量键值对会分别作为独立的数组元素输出,确保传递给sdktool时参数结构完全符合要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 18:28:11