auto: sync OpenClaw config 2026-09-16 22:13

This commit is contained in:
2026-09-16 22:13:36 +08:00
parent 43cd42a563
commit 10455625c4
11 changed files with 225 additions and 83 deletions
+9 -4
View File
@@ -33,6 +33,11 @@
# 0 成功
# 2 用法/环境错误(参数缺失或非法、agent 不存在、中文名取不到、口令缺失)
# 其他 docker 或 mysql 的原始退出码
#
# 【连接字符集】
# 容器内 mysql 客户端默认按 latin1 建连,写中文会报
# `ERROR 1265 (01000) Data truncated for column '...'`。故本脚本所有 mysql
# 调用点统一带 `--default-character-set=utf8mb4`,调用方无需再手写 SET NAMES。
# =============================================================================
set -euo pipefail
@@ -162,12 +167,12 @@ fi
# —— ④ --print:只打印等价命令,口令用占位符(绝不打印真实值)——
if [[ "$PRINT_ONLY" == "1" ]]; then
if [[ -n "$SQL" ]]; then
printf "MYSQL_PWD='<从 .env 读取:%s>' docker exec -e MYSQL_PWD %s mysql -u%s -N -B -e %s %s\n" \
printf "MYSQL_PWD='<从 .env 读取:%s>' docker exec -e MYSQL_PWD %s mysql --default-character-set=utf8mb4 -u%s -N -B -e %s %s\n" \
"$PWD_KEY" "$MYSQL_CONTAINER" "$DB_USER" "$(quote_sql "$SQL")" "$DB_NAME"
else
# 交互式:本地有 TTY 才能 -it(与下面实际执行时的判定保持一致)
if [[ -t 0 && -t 1 ]]; then TTY_FLAGS="-it"; else TTY_FLAGS="-i"; fi
printf "MYSQL_PWD='<从 .env 读取:%s>' docker exec %s -e MYSQL_PWD %s mysql -u%s %s\n" \
printf "MYSQL_PWD='<从 .env 读取:%s>' docker exec %s -e MYSQL_PWD %s mysql --default-character-set=utf8mb4 -u%s %s\n" \
"$PWD_KEY" "$TTY_FLAGS" "$MYSQL_CONTAINER" "$DB_USER" "$DB_NAME"
fi
exit 0
@@ -176,10 +181,10 @@ fi
# —— ⑤ 连接:口令经 MYSQL_PWD 环境变量转发(不进 argv、不进 stdout)——
if [[ -n "$SQL" ]]; then
MYSQL_PWD="$PWD_VALUE" docker exec -e MYSQL_PWD "$MYSQL_CONTAINER" \
mysql -u"$DB_USER" -N -B -e "$SQL" "$DB_NAME"
mysql --default-character-set=utf8mb4 -u"$DB_USER" -N -B -e "$SQL" "$DB_NAME"
else
if [[ -t 0 && -t 1 ]]; then TTY_FLAGS="-it"; else TTY_FLAGS="-i"; fi
echo "→ 已连接:库 $DB_NAME,账号 $DB_USER(输入 exit 或按 Ctrl-D 退出)" >&2
MYSQL_PWD="$PWD_VALUE" docker exec $TTY_FLAGS -e MYSQL_PWD "$MYSQL_CONTAINER" \
mysql -u"$DB_USER" "$DB_NAME"
mysql --default-character-set=utf8mb4 -u"$DB_USER" "$DB_NAME"
fi