WSL 내부(예: cmd를 연 다음 실행하거나 시작 메뉴에서 바로 wsl
실행 wsl
) 끝에 다음 줄이 있습니다 ~/.bashrc
.
LANG=en_US.UTF-8
여전히 WSL 내에 있는 동안 env
다음이 표시됩니다.
LANG=en_US.UTF-8
모두 좋은. 그러나 exit
WSL에서 다시 cmd 프롬프트로 돌아 가면 wsl env
다음이 표시됩니다.
LANG=C.UTF-8
저는 주로 Windows 사용자이고 이 문제를 해결하기 위해 무슨 일이 일어나고 있는지 충분히 모릅니다. 변수에 대해 다음에 수행한 것과 wsl env
동일한 결과를 어떻게 제공할 수 있습니까 ?LANG
wsl
env
답변1
Clonkex, 이것은 "bash" 쉘 호출로 귀결됩니다. "wsl"을 실행하면 bash가 대화형 모드로 실행됩니다. 그러나 "wsl"을 실행하면 비대화형 모드에서 실행됩니다.
그만큼배쉬 매뉴얼 페이지다양한 호출 형식이 다양한 시작 스크립트(.bashrc, .bash_profile, .profile 등)를 실행하는 방법을 설명합니다.
UNIX/Linux 환경에서는 일반적으로 bash를 실행할 때 "-i"를 지정하여 대화형 모드에서 강제로 실행되도록 할 수 있습니다. 그러나 wsl은 그것을 허용하고 싶지 않은 것 같습니다.
비대화형 모드에서도 환경 변수를 설정하려면 이 작업을 수행하는 명령을 /etc/profile에 추가하거나 (바람직하게는) /etc/profile.d/에 새 파일을 만들고 거기에 명령을 추가할 수 있습니다. 이 파일은 인수를 사용하여 wsl을 실행하는지 여부에 관계없이 실행됩니다.