본문 바로가기
개발환경

[Env] Environment Variable (환경변수)

by ds31x 2023. 6. 20.

정의

Environment variable (환경변수) 란,

  • OS나 SW에서 참조하는 변수들로
  • OS나 SW가 동작 (or 실행)에 영향을 주는 값을 가짐.

shell script 나 software들이 각 장비의 환경에 맞게 동작할 수 있도록 해 줌.


종류

Envrionment varible들은 text 형식의 name (or key)과 value를 가지고 있으며, 영향을 미치는 범위에 따라 구분됨.

  • 시스템 변수 : 컴퓨터 시스템 전체에 영향을 미침 (해당 시스템에서 동작하는 모든 SW와 이를 이용하는 사용자 모두에게 영향을 줌)
  • 사용자 변수 : 특정 사용자의 session에만 영향을 줌. (사용자 별로 다른 설정과 환경을 가질 수 있음)

사용자변수시스템변수의 name이 같은 경우, 사용자변수에 우선권이 있음.


Example

OS에서 executable file들의 경로를 PATH라는 environment variable을 가짐.

 

다음의 명령어로 환경변수 PATH의 값을 확인 가능함.

  • linux :
    • echo $PATH 
    • env |grep PATH 
    • printenv |grep PATH
  • windows :
    • cmd (=command prompt)
      • echo %PATH% 
      • set PATH
    •  PowerShell
      •  Get-ChildItem Env: 

SW들도 자신의 동작과 구성을 위해 environment variable들을 사용하는 경우가 많음.

Programming language들도 관련 library등이 위치하고 있는 경로 등을 찾기 위해 특정 environment variable을 사용함. 대표적인 예로 Python이 사용하는 PYTHONPATH를 들 수 있음.


Windows' Environment Variables

변수 내용
OneDrive 현재 컴퓨터의 OneDrive 주소값
Path 컴퓨터에 저장된 경로
TEMP 컴퓨터의 임시 저장 폴더
TMP 컴퓨터의 임시 저장 폴더
windir 윈도우 파일의 저장 경로
USERNAME 사용자 이름
OS 운영체제 이름

Linux's Environment Variables

변수 내용
PATH 실행 파일 찾는 경로
LANG 프로그램 사용 시 기본 지원되는 언어
USER 현재 사용자 이름
GROUP 현재 사용자 그룹
PS1 명령 프롬프트 변수
HOME 현재 user의 home directory
PWD 현재 working directory
EDITOR 기본으로 사용하는 text editor의 실행파일 경로. (nano 또는 vim)
PAGER 페이지보기를 해주는 실행파일 경로 (less의 경로)

환경변수 다루기.

Linux

linux의 경우 export 를 이용하여 새로운 environment variable을 설정하거나 기존의 값을 수정함.

export 변수명=값

설정되어있는 environment variable을 제거하는 방법은 다음과 같음.

unset 변수명

일반적으로 bash에서 ~/.bash_profile 에 위의 export 문을 통해 사용자 변수를 영구적으로 지정하고, /etc/profile 을 사용하여 시스템 변수를 저장함.


Windows

Windows의 경우 command prompt를 기준으로 새로운 environment variable의 설정 및 수정은 다음으로 수행됨.

set 변수명=값

제거는 다음과 같음.

set 변수명=
  • 위에서 = 없이 수행할 경우, 해당 변수명의 값을 출력해주므로 주의할 것.

영구적인 환경변수 설정

  • Windows에서는 System 우클릭 등을 통해 시스템 설정 패널로 들어가,
  • 해당 패널의 "고급 시스템 설정"에서 "환경변수"를 설정하는 방법이 더 일반적임.

다음은 windows11, 10에 대한 설정방법임 :

2023.07.01 - [개발환경] - [Env] Windows 환경변수 (Environment Variable) 설정 (Windows 11)

 

[Env] Windows 환경변수 (Environment Variable) 설정 (Windows 11)

Windows 키를 누르면 나오는 panel에서 Settings을 클릭. 왼쪽 사이드 바에서 System이 선택된 상태에서 아래로 내리면 About이 나옴. 이를 클릭. System > About 패널에서 중간에 있는 Related links 에서 Advanced sy

ds31x.tistory.com

2023.07.01 - [개발환경] - [Env] Windows : 환경변수 설정 (Windows 10)

 

[Env] Windows : 환경변수 설정 (Windows 10)

Windows 키를 누르면 나오는 panel에서 설정(Settings)을 클릭. 시스템(System)에서 왼쪽 사이드 바에 아래로 내리면 정보(About)이 나옴. 이를 클릭. 정보가 선택된 상태에서 오른쪽 패널에서 아래로 내리

ds31x.tistory.com


더 읽어보면 좋은 자료

2023.09.30 - [Python] - [Python] 환경변수 접근하기

 

[Python] 환경변수 접근하기

os 모듈의 environ 을 통해 python은 환경변수를 일종의 dictionary (dict)로 관리함. 환경변수 얻어오기 dict 형의 경우처럼 key를 통한 직접 접근 key에 해당하는 환경변수가 없을 경우 KeyError 가 발생하므

ds31x.tistory.com

2023.06.20 - [개발환경] - [Shell] env and Shebang line

 

[Shell] env and Shebang line

env 명령어는 주로 environment variable들을 확인하거나 특정 명령어 수행할 때 특정 environment variable을 지정해주는데 사용된다. The env command allows you to display your current environment or run a specified command in a

ds31x.tistory.com

https://dsaint31.tistory.com/entry/Python-Module-Search-Path-and-syspath

 

[Python] Module Search Path and sys.path

Module Search Path Python 에서 module을 찾는 경로는 다음의 순서임. home directory of the program (main script file이 있는 위치 or python shell이 수행된 cwd) PYTHONPATH 환경변수 (environment variable)에 지정된 directory 및 zi

dsaint31.tistory.com

 

728x90

'개발환경' 카테고리의 다른 글

[Env] PowerShell v7.3.5  (0) 2023.06.28
[Env] xterm: Font  (0) 2023.06.26
[Env] VSCode : Terminal Font 변경  (0) 2023.06.21
[Shell] env and Shebang line  (0) 2023.06.20
[Env] Oh-My-Posh  (0) 2023.06.20