정의
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:
-
- cmd (=command prompt)
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
'개발환경' 카테고리의 다른 글
[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 |