다음을 통해 공유


System.Environment.GetEnvironmentVariable 메서드

이 문서는 이 API에 대한 참조 설명서를 보충하는 추가 설명을 제공합니다.

메서드는 GetEnvironmentVariable 현재 프로세스에서 환경 변수의 값을 검색합니다.

환경 변수 이름은 Unix와 유사한 시스템에서 대/소문자를 구분하지만 Windows에서는 대/소문자를 구분하지 않습니다.

비고

네이티브 라이브러리에서 수행한 In-Process 환경 수정은 관리되는 호출자가 볼 수 없습니다. 반대로, 관리되는 호출자가 수정한 내용은 네이티브 라이브러리에서 볼 수 없습니다.

GetEnvironmentVariable(String) 메서드

메서드는 GetEnvironmentVariable(String) 현재 프로세스의 환경 블록에서만 환경 변수를 검색합니다. GetEnvironmentVariable(String, EnvironmentVariableTarget) 메서드를 targetEnvironmentVariableTarget.Process로 호출하는 것과 같습니다.

값과 함께 모든 환경 변수를 검색하려면 메서드를 호출합니다 GetEnvironmentVariables .

Windows 시스템에서

Windows 시스템에서 현재 프로세스의 환경 블록에는 다음이 포함됩니다.

  • 해당 변수를 만든 부모 프로세스에서 제공하는 모든 환경 변수입니다. 예를 들어 콘솔 창에서 시작된 .NET 애플리케이션은 콘솔 창의 모든 환경 변수를 상속합니다.

    부모 프로세스가 없는 경우 컴퓨터별 및 사용자별 환경 변수가 대신 사용됩니다. 예를 들어 새 콘솔 창에는 컴퓨터당 및 사용자별 환경 변수가 모두 시작되었을 때 정의됩니다.

  • 프로세스가 실행되는 동안 SetEnvironmentVariable(String, String) 메서드 또는 SetEnvironmentVariable(String, String, EnvironmentVariableTarget) 메서드를 targetEnvironmentVariableTarget.Process으로 호출하여 프로세스 블록에 추가된 모든 변수. 이러한 환경 변수는 .NET 애플리케이션이 종료될 때까지 유지됩니다.

프로세스가 시작된 후 환경 변수가 만들어지면, SetEnvironmentVariable(String, String) 메서드 또는 SetEnvironmentVariable(String, String, EnvironmentVariableTarget) 메서드를 target 값 .EnvironmentVariableTarget.Process로 호출하여 만들어진 변수만 이 메서드를 사용하여 검색할 수 있습니다.

Unix와 유사한 시스템에서

Unix와 유사한 시스템에서 현재 프로세스의 환경 블록에는 다음과 같은 환경 변수가 포함됩니다.

Unix와 유사한 시스템의 .NET은 컴퓨터별 또는 사용자별 환경 변수를 지원하지 않습니다.

GetEnvironmentVariable(String, EnvironmentVariableTarget) 메서드

값과 함께 모든 환경 변수를 검색하려면 메서드를 호출합니다 GetEnvironmentVariables .

Windows 시스템에서

Windows에서 target 매개 변수는 환경 변수가 현재 프로세스에서 검색되는지 아니면 현재 사용자 또는 로컬 컴퓨터에 대한 Windows 운영 체제 레지스트리 키에서 검색되는지 여부를 지정합니다. 모든 사용자별 및 컴퓨터별 환경 변수는 .NET 프로세스를 만든 부모 프로세스에서 사용할 수 있는 다른 환경 변수와 마찬가지로 현재 프로세스의 환경 블록에 자동으로 복사됩니다. 현재 프로세스의 환경 블록에 SetEnvironmentVariable(String, String) 메서드나 SetEnvironmentVariable(String, String, EnvironmentVariableTarget) 메서드를 targetEnvironmentVariableTarget.Process으로 호출하여 추가된 환경 변수는 프로세스 실행 중에만 지속됩니다.

Unix와 유사한 시스템에서

Unix와 유사한 시스템에서는 메서드가 오직 GetEnvironmentVariable(String, EnvironmentVariableTarget)target 값만 지원합니다. target값이 EnvironmentVariableTarget.Machine 또는 EnvironmentVariableTarget.User인 호출은 지원되지 않으며 null을 반환합니다.

프로세스별 환경 변수는 다음과 같습니다.