fix: 变量持久化 heredoc 改用无引号模式

致命 Bug:Step 1.1 的 cat > /tmp/env_vars.sh 使用 << 'VFEOF'
(单引号 heredoc),导致 ${VARIABLE} 全部写为字面量。
后续 source 后所有变量为空字符串。

修复:<< VFEOF → << EOF(无引号),bash 在写入时即展开
变量值为实际字符串(如 'qq-agent' 而非文字 '${NEW_AGENT_ID}')。
This commit is contained in:
root
2026-05-04 20:02:46 +08:00
parent 7534552d75
commit 3b3ad882a4

View File

@ -125,7 +125,7 @@ print(cfg.get('gateway', {}).get('auth', {}).get('token', ''))
" 2>/dev/null)
# ─── 持久化到文件,供后续步骤使用 ───
cat > /tmp/env_vars.sh << 'VFEOF'
cat > /tmp/env_vars.sh << EOF
NEW_AGENT_ID='${NEW_AGENT_ID}'
AGENT_WORKSPACE='${AGENT_WORKSPACE}'
SHARED_DIR='${SHARED_DIR}'
@ -133,14 +133,13 @@ NAPCAT_HOST='${NAPCAT_HOST}'
NAPCAT_API_PORT='${NAPCAT_API_PORT}'
QQREBOT_HOST='${QQREBOT_HOST}'
GATEWAY_TOKEN='${GATEWAY_TOKEN}'
VFEOF
EOF
echo "变量已写入 /tmp/env_vars.sh后续步骤请先 source 该文件"
```
> ⚠️ 持久化文件 `/tmp/env_vars.sh` 中的 `${}` 使用**引号 heredoc 包裹**
> 以确保 bash 在当前阶段立即展开(而非写入文字 `${NEW_AGENT_ID}`
> 后续步骤每次执行 bash 代码块前,应先 `source /tmp/env_vars.sh`。
> 持久化文件使用 **引号 heredoc**`<< EOF`bash 在 Step 1.1 执行时即展开 `${}` 变量。
> 后续步骤每次执行 bash 代码块前,先 `source /tmp/env_vars.sh` 恢复环境
#### 1.2 向用户确认