auto: sync OpenClaw config 2026-09-16 22:13
This commit is contained in:
+9
-4
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user