From d3965af62306b3367d528d8b39ba453f113f10fe Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 4 Apr 2026 09:07:17 +0000 Subject: [PATCH] =?UTF-8?q?fix:=20deploy-proxy.sh=20SMTP=E5=87=AD=E6=8D=AE?= =?UTF-8?q?=E5=86=99=E5=85=A5=E4=BD=BF=E7=94=A8grep+printf=E6=9B=BF?= =?UTF-8?q?=E4=BB=A3sed=EF=BC=8C=E9=81=BF=E5=85=8D=E5=AF=86=E7=A0=81?= =?UTF-8?q?=E7=89=B9=E6=AE=8A=E5=AD=97=E7=AC=A6=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Agent-Logs-Url: https://github.com/qinfendebingshuo/guanghulab/sessions/f9b09d73-b949-4f02-b3b9-2e69f90cd8b6 Co-authored-by: qinfendebingshuo <207279273+qinfendebingshuo@users.noreply.github.com> --- server/proxy/deploy-proxy.sh | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/server/proxy/deploy-proxy.sh b/server/proxy/deploy-proxy.sh index feafbcda..12052bf5 100644 --- a/server/proxy/deploy-proxy.sh +++ b/server/proxy/deploy-proxy.sh @@ -86,22 +86,24 @@ save_server_host() { fi # 保存SMTP凭据 (如果有) — 使守护Agent和流量监控可发送告警邮件 + # 注: 使用删除+追加方式避免sed特殊字符问题 (密码常含|&/$等) if [ -n "${ZY_SMTP_USER:-}" ] && [ -f "$KEYS_FILE" ]; then if grep -q "^ZY_SMTP_USER=" "$KEYS_FILE" 2>/dev/null; then - sed -i "s|^ZY_SMTP_USER=.*|ZY_SMTP_USER=${ZY_SMTP_USER}|" "$KEYS_FILE" + grep -v "^ZY_SMTP_USER=" "$KEYS_FILE" > "${KEYS_FILE}.tmp" && mv "${KEYS_FILE}.tmp" "$KEYS_FILE" else echo "" >> "$KEYS_FILE" echo "# SMTP凭据 (部署时自动写入·守护Agent告警用)" >> "$KEYS_FILE" - echo "ZY_SMTP_USER=${ZY_SMTP_USER}" >> "$KEYS_FILE" fi + printf '%s\n' "ZY_SMTP_USER=${ZY_SMTP_USER}" >> "$KEYS_FILE" + chmod 600 "$KEYS_FILE" echo " ✅ ZY_SMTP_USER 已保存到 .env.keys" fi if [ -n "${ZY_SMTP_PASS:-}" ] && [ -f "$KEYS_FILE" ]; then if grep -q "^ZY_SMTP_PASS=" "$KEYS_FILE" 2>/dev/null; then - sed -i "s|^ZY_SMTP_PASS=.*|ZY_SMTP_PASS=${ZY_SMTP_PASS}|" "$KEYS_FILE" - else - echo "ZY_SMTP_PASS=${ZY_SMTP_PASS}" >> "$KEYS_FILE" + grep -v "^ZY_SMTP_PASS=" "$KEYS_FILE" > "${KEYS_FILE}.tmp" && mv "${KEYS_FILE}.tmp" "$KEYS_FILE" fi + printf '%s\n' "ZY_SMTP_PASS=${ZY_SMTP_PASS}" >> "$KEYS_FILE" + chmod 600 "$KEYS_FILE" echo " ✅ ZY_SMTP_PASS 已保存到 .env.keys" fi }