환경 변수는 운영 체제에서 특정한 정보를 저장하고 공유하는 역할을하며, 여러 프로그램들이 시스템 설정 정보를 공유할 수 있게 도와줍니다. 이는 프로그램의 설치 위치, 시스템 라이브러리의 위치, 그리고 사용자 세션에 관한 정보 등을 포함할 수 있습니다. 환경 변수 더 알아보기
이러한 환경 변수는 운영 체제의 핵심 요소 중 하나로서, 다양한 애플리케이션들이 서로 통신하거나 자원을 공유하는 데 중요한 역할을 합니다. 따라서 이들은 개발자나 고급 사용자가 시스템을 관리하고 애플리케이션의 동작 방식을 제어하는 데 필수적인 도구입니다.
Windows에서는 기본적으로 제공되는 GUI 형태의 환경 설정 메뉴를 통해 환경 변수를 관리할 수 있지만, 때때로 명령 줄 인터페이스(CLI)를 사용하여 환경 변수를 조작해야 할 상황도 생깁니다. 이런 경우가 바로 개발 작업을 하다 보면 여러 버전의 언어나 라이브러리를 관리해야 할 때입니다.
CLI를 사용하여 환경 변수를 조작하면 스크립트를 작성하여 일련의 명령을 자동으로 실행하거나, 예약 작업을 설정하여 특정 시간에 작업을 수행하는 등 다양한 자동화 작업에 유용합니다. 이번 포스트에서는 Windows 환경에서 가장 널리 사용되는 CLI 도구인 명령 프롬프트와 파워셸에 대해서 알아보겠습니다.
튜토리얼 환경: 윈도우 11 Pro (빌드: 22621.2134)
명령 프롬프트
명령 프롬프트는 Windows가 제공하는 기본 쉘shell이며 setx
라는 명령어를 주로 사용하여 환경변수를 조작합니다.
환경 변수 확인
명령 프롬프트에서 현재 등록 된 환경 변수를 확인할 수 있습니다.
명령 프롬프트를 실행 후 다음과 같이 명령하면 시스템의 Path 환경 변수를 확인할 수 있습니다. 결과는 위 이미지와 같이 ;
로 구분되어지며 앞선 순서대로 탐색을 하게 됩니다.
echo %Path%
환경 변수 추가
setx 변수이름 값
명령 프롬프트를 실행 후 .setx
명령을 사용하면 새로운 환경 변수를 추가할 수 있습니다.
예를 들어, MY_VARIABLE
이라는 환경 변수를 Hello
로 설정하려면 다음과 같이 입력합니다.
setx MY_VARIABLE Hello
환경 변수 수정
setx 변수이름 새로운값
setx
명령을 사용하여 기존 환경 변수의 값을 수정할 수 있습니다. 변수 이름이 이미 존재하면 해당 변수의 값을 업데이트합니다.
예를 들어, MY_VARIABLE
의 값을 Hello
로 변경하려면 다음과 같이 입력합니다.
setx MY_VARIABLE Hello
환경 변수 삭제
setx 변수이름
환경 변수를 삭제하려면 setx
명령을 사용하여 해당 변수를 빈 값으로 설정하면 됩니다. 이렇게 하면 해당 환경 변수가 삭제됩니다.
예를 들어, MY_VARIABLE
을 삭제하려면 다음과 같이 입력합니다.
setx MY_VARIABLE
참고: 변경된 환경 변수는 새로운 명령 프롬프트 창에서 적용되므로, 명령을 실행한 후에는 새로운 창을 열거나 시스템을 재부팅하지 않아도 됩니다. 환경 변수를 변경할 때 주의해야 하며, 실수로 필요한 변수를 수정 또는 삭제하지 않도록 주의하세요.
Windows PowerShell
Windows PowerShell은 Microsoft가 개발한 스크립팅 기능이 강화된 고급 쉘shell입니다. PowerShell에서는 $env:
형태나 Remove-Item
같은 cmdlet(파워셸 내장 명령) 을 사용하여 환경변수 조작이 가능합니다.
환경 변수 확인
PowerShell에서 현재 등록 된 환경 변수를 확인할 수 있습니다.
PowerShell을 실행 후 다음과 같이 명령하면 시스템의 Path 환경 변수를 확인할 수 있습니다. 결과는 위 이미지와 같이 ;
로 구분되어지며 앞선 순서대로 탐색을 하게 됩니다. 이미지와 같이 echo
명령은 생략해도 동일한 결과를 얻을 수 있습니다.
echo $env:Path
환경 변수 추가 또는 수정
$env:변수이름 = "값"
Windows PowerShell을 실행 후 명령 줄에 위와 같이 명령하면 환경 변수를 추가 또는 수정할 수 있습니다.
변수이름
을 원하는 환경 변수 이름으로 바꾸고 값을 해당 환경 변수의 새로운 값을 나타내는 원하는 내용으로 바꿉니다.- 이렇게 하면 지정한 환경 변수가 현재 사용자 또는 시스템 환경에 설정됩니다.
예를 들어, MY_VARIABLE
이라는 환경 변수를 Hello, World!
로 설정하려면 다음과 같이 입력합니다.
$env:MY_VARIABLE = "Hello, World!"
환경 변수 삭제
Remove-Item Env:\변수이름
이 명령으로 환경 변수를 삭제할 수 있습니다.
변수이름
을 삭제하려는 환경 변수의 이름으로 바꿉니다.- 이 명령을 실행하면 해당 환경 변수가 삭제되고, 이제 더 이상 사용할 수 없습니다.
예를 들어, MY_VARIABLE
을 삭제하려면 다음과 같이 입력합니다.
Remove-Item Env:\MY_VARIABLE