我已经生成了en_US.utf8,et_EE.iso88591和ru_RU.utf8本地化文件。现在,如果我尝试将任何语言环境变量更改为ru_RU.utf8或en_US.utf8,那么这将没有任何效果:
# locale -a
C
en_US.utf8
et_EE
et_EE.iso88591
POSIX
ru_RU.utf8
# LC_TIME=ru_RU.utf8
# locale | grep LC_TIME
LC_TIME="et_EE.iso88591"
# LC_TIME="ru_RU.utf8"
# locale | grep LC_TIME
LC_TIME="et_EE.iso88591"
#
但是,如果我更改LANG =变量,则除LANGUAGE =和LC_ALL =之外的所有其他变量都采用LANG =的值变量的值。有没有办法分别修改每个区域设置变量?另外,我是否纠正了语言环境变量不是常规shell变量,而更像是语言环境实用程序的参数的问题?
LANG
和LC_xxx
是环境变量?我的测试表明,只有LANG
andLANGUAGE
和LC_MESSAGES
andLC_ALL
是环境变量,而其他变量如LC_CTYPE
andLC_MONETARY
不是环境变量(同样,它们不是shell变量)?