locale
설정에서 LANG
, LC_ALL
, 그리고 LC_MESSAGES
와 같은 개별 LC_
변수들 사이의 우선순위는 다음과 같습니다:
LC_ALL
- 이 변수가 설정되어 있으면, 시스템의 모든 locale 설정을 이 값으로 오버라이드합니다. 따라서 이 변수는 모든 LC_
변수들(예: LC_MESSAGES
, LC_CTYPE
등)과 LANG
보다 최고 우선순위를 가집니다. 만약 LC_ALL
이 설정되어 있다면, 다른 모든 locale 설정은 무시됩니다.
개별 LC_
변수들 (LC_MESSAGES
, LC_CTYPE
, 등) - 이들 각각의 변수는 특정 locale 관련 설정을 제어합니다. 예를 들어, LC_MESSAGES
는 시스템 메시지의 언어를 설정합니다. LC_ALL
이 설정되지 않았다면, 이 변수들은 LANG
보다 우선순위가 높습니다. 즉, LC_MESSAGES
는 메시지 출력의 언어를, LC_CTYPE
는 문자 처리 방식을 결정합니다.
LANG
- 이 변수는 기본적인 시스템 locale을 설정합니다. 모든 LC_
변수들이 명시적으로 설정되지 않은 경우, LANG
의 값이 사용됩니다. LANG
은 일종의 기본값 역할을 하며, 특정 LC_
변수가 설정되지 않았을 때 그 변수의 설정을 제공합니다.
LC_ALL
은 다른 모든 locale 설정을 오버라이드합니다.LC_
변수들은 LANG
보다 높은 우선순위를 가지며, 각각의 설정 영역을 구체적으로 제어합니다.LANG
은 다른 LC_
변수들이 설정되지 않은 경우에 대한 기본 설정을 제공합니다.이러한 우선순위를 이해하면 특정 환경에서 어떻게 locale이 결정되는지 더 잘 파악할 수 있습니다.
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
나같은 경우에는 LC_ALL은 건드리지 않고
LANG만 ko_KR.UTF-8로 설정하고
LC_MESSAGES을 en_US.UTF-8로 설정했더니
오류메세지 자체는 영어로 뜨고 유니코드 한글문자들은 한글대로 떠서 쓰기 편리하였음