System.Environment.GetEnvironmentVariable 메서드
이 문서에서는 이 API에 대한 참조 설명서에 대한 추가 설명서를 제공합니다.
메서드는 GetEnvironmentVariable 현재 프로세스에서 환경 변수의 값을 검색합니다.
환경 변수 이름은 Unix와 유사한 시스템에서 대/소문자를 구분하지만 Windows에서는 대/소문자를 구분하지 않습니다.
참고 항목
네이티브 라이브러리에서 수행한 In-Process 환경 수정은 관리되는 호출자가 볼 수 없습니다. 반대로, 관리되는 호출자가 수정한 내용은 네이티브 라이브러리에서 볼 수 없습니다.
GetEnvironmentVariable(String) 메서드
메서드는 GetEnvironmentVariable(String) 현재 프로세스의 환경 블록에서만 환경 변수를 검색합니다. 값EnvironmentVariableTarget.Process이 .인 메서드를 GetEnvironmentVariable(String, EnvironmentVariableTarget) 호출하는 target
것과 같습니다.
값과 함께 모든 환경 변수를 검색하려면 메서드를 호출합니다 GetEnvironmentVariables .
Windows 시스템에서
Windows 시스템에서 현재 프로세스의 환경 블록에는 다음이 포함됩니다.
해당 변수를 만든 부모 프로세스에서 제공하는 모든 환경 변수입니다. 예를 들어, 콘솔 창에서에서 시작 되는.NET 애플리케이션을 모든 콘솔 창의 환경 변수를 상속 합니다.
부모 프로세스가 없는 경우 컴퓨터별 및 사용자별 환경 변수가 대신 사용됩니다. 예를 들어 새 콘솔 창에는 컴퓨터당 및 사용자별 환경 변수가 모두 시작되었을 때 정의됩니다.
값이 있는 메서드 또는 메서드
target
EnvironmentVariableTarget.Process를 호출 SetEnvironmentVariable(String, String) 하여 프로세스가 실행되는 동안 프로세스 블록에 SetEnvironmentVariable(String, String, EnvironmentVariableTarget) 추가된 모든 변수 이러한 환경 변수는.NET 애플리케이션 종료 될 때까지 유지 됩니다.
프로세스가 시작된 후 환경 변수가 만들어지면 이 메서드를 사용하여 메서드 또는 SetEnvironmentVariable(String, String, EnvironmentVariableTarget)target
메서드를EnvironmentVariableTarget.Process 호출 SetEnvironmentVariable(String, String) 하여 만든 변수만 검색할 수 있습니다.
Unix와 유사한 시스템에서
Unix와 유사한 시스템에서 현재 프로세스의 환경 블록에는 다음과 같은 환경 변수가 포함됩니다.
해당 변수를 만든 부모 프로세스에서 제공하는 모든 환경 변수입니다. 셸에서 시작 된.NET 애플리케이션, 셸에서 정의 하는 모든 환경 변수가 포함 됩니다.
값이 있는 메서드 또는 메서드
target
EnvironmentVariableTarget.Process를 호출 SetEnvironmentVariable(String, String) 하여 프로세스가 실행되는 동안 프로세스 블록에 SetEnvironmentVariable(String, String, EnvironmentVariableTarget) 추가된 모든 변수 이러한 환경 변수는.NET 애플리케이션 종료 될 때까지 유지 됩니다.
Unix와 유사한 시스템의 .NET은 컴퓨터별 또는 사용자별 환경 변수를 지원하지 않습니다.
GetEnvironmentVariable(String, EnvironmentVariableTarget) 메서드
값과 함께 모든 환경 변수를 검색하려면 메서드를 호출합니다 GetEnvironmentVariables .
Windows 시스템에서
Windows에서 target
매개 변수는 환경 변수가 현재 프로세스에서 검색되는지 아니면 현재 사용자 또는 로컬 컴퓨터에 대한 Windows 운영 체제 레지스트리 키에서 검색되는지 여부를 지정합니다. 모든 사용자별 및 컴퓨터별 환경 변수는 .NET 프로세스를 만든 부모 프로세스에서 사용할 수 있는 다른 환경 변수와 마찬가지로 현재 프로세스의 환경 블록에 자동으로 복사됩니다. 그러나 환경 변수는 프로세스 기간 동안만 지속 값이 있는 메서드 또는 SetEnvironmentVariable(String, String, EnvironmentVariableTarget) 메서드 target
를 호출 SetEnvironmentVariable(String, String) 하여 현재 프로세스의 EnvironmentVariableTarget.Process 환경 블록에만 추가됩니다.
Unix와 유사한 시스템에서
Unix와 유사한 시스템에서 메서드는 GetEnvironmentVariable(String, EnvironmentVariableTarget)
값 EnvironmentVariableTarget.Process 만 지원합니다target
. 값 EnvironmentVariableTarget.MachineEnvironmentVariableTarget.User 이 있거나 target
지원되지 않는 호출을 반환null
합니다.
프로세스별 환경 변수는 다음과 같습니다.
호출 하는 데 셸 일반적으로 부모 프로세스에서 상속 된
dotnet.exe
또는.NET 애플리케이션을 시작 합니다.값이 있는 메서드 또는 메서드를 SetEnvironmentVariable(String, String)SetEnvironmentVariable(String, String, EnvironmentVariableTarget) 호출하여 정의한
target
값 EnvironmentVariableTarget.Process입니다. 이러한 환경 변수 까지만 지속 된dotnet
프로세스 또는.NET 애플리케이션을 종료 합니다.
.NET