有时候就想用用中文.
bash -c '
set -e
echo "===== [1] 安装 locales ====="
apt update -y
apt install -y locales
echo "===== [2] 启用 UTF-8 locale ====="
sed -i "s/# zh_CN.UTF-8 UTF-8/zh_CN.UTF-8 UTF-8/" /etc/locale.gen || true
sed -i "s/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/" /etc/locale.gen || true
echo "===== [3] 生成 locale ====="
locale-gen --purge
echo "===== [4] 重建 locale ====="
localedef -i zh_CN -f UTF-8 zh_CN.UTF-8 || true
localedef -i en_US -f UTF-8 en_US.UTF-8 || true
echo "===== [5] 设置系统默认 ====="
update-locale LANG=zh_CN.UTF-8 || true
echo "===== [6] 设置当前会话 ====="
export LANG=zh_CN.UTF-8
export LC_ALL=zh_CN.UTF-8
echo ""
echo "===== [7] 验证开始 ====="
echo "--- locale -a ---"
locale -a
echo ""
echo "--- locale ---"
locale
echo ""
echo "--- Perl test ---"
perl -e "print \"perl locale OK\n\""
echo ""
echo "===== DONE CHECK ====="
# 判断结果
if locale | grep -q "zh_CN.UTF-8"; then
echo "✅ locale 修复成功"
else
echo "❌ locale 仍有问题"
fi
' 