由于某些奇怪的原因,我发现我有几个LC_
区域设置变量设置为我不认识的值(en_ZA.UTF-8
)。因此,我想通过命令行并使用适当的配置文件对其进行不同的设置 - 永久地。
但这些是什么文件呢?我认为应该是这样/etc/default/locale
,至少在系统层面上是这样。但在那里我看到:
# File generated by update-locale
LANG="en_US.UTF-8"
LANGUAGE="en_US:en"
是否还有其他文件 LC_MONETARY
、LC_TIME
等可以设置?我四处搜寻,发现了任何嫌疑人。
PS - 我正在使用 Debian Stretch。
答案1
区域设置是通过环境变量传达的,因此可以在可以设置环境变量的许多位置中的任何位置进行设置。/etc/default/locale
如果您通过系统区域设置配置界面,则记录系统默认区域设置的位置,但设置可以在设置环境变量的任何其他位置,例如(我只列出最常见的):
/etc/profile
/etc/profile.d/*
/etc/environment
~/.profile
, 或~/.bash_profile
或~/.login
或~/.zprofile
取决于您的登录 shell~/.pam_environment
- (仅适用于在终端中运行的 shell)
/etc/bash.bashrc
、/etc/zshrc
、~/.bashrc
、~/.zshrc
等。
搜索整个/etc
点文件应该可以找到它:
grep -rs en_ZA /etc ~/.[!.]*
区域设置如果未设置则从设置开始LANG
,并且LC_ALL
优先于所有设置。在 的输出中locale
,如果设置是从显式设置导出的LANG
或LC_ALL
与显式设置相反,则设置将打印在双引号中。