From 57311aaa2e28db0b95c0351f6876733731fd54d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=98=94=E5=BF=B5?= <12574910+72wo@users.noreply.github.com> Date: Tue, 3 Mar 2026 13:01:53 +0800 Subject: [PATCH] =?UTF-8?q?```=20fix(base):=20=E4=BF=AE=E5=A4=8Dscreen?= =?UTF-8?q?=E4=BC=9A=E8=AF=9D=E5=90=AF=E5=8A=A8=E6=97=B6=E7=9A=84=E5=BC=95?= =?UTF-8?q?=E5=8F=B7=E8=BD=AC=E4=B9=89=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修复了启动Screen会话时由于引号转义导致的时间戳变量无法正确传递的问题, 现在通过分离命令参数的方式确保变量能够正确传递到bash环境中。 ``` --- modules/base/middleware/server.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/modules/base/middleware/server.go b/modules/base/middleware/server.go index 8a5036390..28a3c2e09 100644 --- a/modules/base/middleware/server.go +++ b/modules/base/middleware/server.go @@ -285,7 +285,10 @@ chmod +x "%s{exe_path}" || { echo "❌ 设置权限失败"; exit 1; } # 定义时间戳(格式:年-月-日_时-分-秒,比如 2026-03-03_15-30-25) timestamp=$(date +"%Y-%m-%d_%H-%M-%S") echo "启动Screen会话[%s{screen_name}]..." -screen -dmS "%s{screen_name}" bash -c '"%s{exe_path}" -id=%s{online_id} 2>&1 | tee -a "$HOME/run_${timestamp}.log"' +# 4. 启动screen会话(修复引号转义,让timestamp变量正确传递) +screen -dmS "${screen_name}" bash -c ' + "%s" -id=%s 2>&1 | tee -a "$HOME/run_%s.log" +' "${exe_path}" "${online_id}" "${timestamp}" sleep 2 if screen -ls | grep -q "%s{screen_name}"; then