Я створив файли локалізації 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 = змінної. Чи є спосіб змінити кожну змінну локалі окремо? Окрім того, чи правильно я вважаю, що змінні локалів не є звичайними змінними оболонок, а більше схожі на параметри для утиліти локалі ?
LANG
та чиLC_xxx
є змінні середовища? моє тестування показує, що тількиLANG
іLANGUAGE
таLC_MESSAGES
іLC_ALL
є змінні середовища, а інші змінні люблятьLC_CTYPE
іLC_MONETARY
не є змінні середовища (також вони не є оболонками)?