无法为当前进程设置 LC_TIME 变量

无法为当前进程设置 LC_TIME 变量

在 Linux Mint Rebecca 上,我当前的 LC_TIME 设置是LC_TIME="en_US.UTF-8"

我想执行date并观察当前日期如何以中文格式用汉字显示。

因此,我想我必须这样设置 LC_TIME 变量:

LC_TIME=zh_CN.UTF-8

然而,当我执行时,date我仍然得到英文风格格式的日期,而且当我执行时,locale我看到 LC_TIME 变量根本没有改变它的值。

输出locale -a

C
C.UTF-8
de_DE.utf8
en_AG
en_AG.utf8
en_AU.utf8
en_BW.utf8
en_CA.utf8
en_DK.utf8
en_GB.utf8
en_HK.utf8
en_IE.utf8
en_IN
en_IN.utf8
en_NG
en_NG.utf8
en_NZ.utf8
en_PH.utf8
en_SG.utf8
en_US.utf8
en_ZA.utf8
en_ZM
en_ZM.utf8
en_ZW.utf8
POSIX

答案1

date与您的 shell 是分开的,因此除非您指示 shell 修改date看到的环境,否则您的更改不会LC_TIME产生任何效果。

您可以通过两种方式解决此问题;通过LC_TIME仅指定 的值date

LC_TIME=zh_CN.UTF-8 date

或者通过导出,LC_TIME将其新值赋予 shell 启动的所有后续进程:

LC_TIME=zh_CN.UTF-8
export LC_TIME
date

您将在以下位置找到更多详细信息了解不同背景下的环境变量

相关内容