환경 변수 (環境 變數)는 프로세스가 컴퓨터에서 동작하는 방식에 영향을 미치는, 동적인 값들의 모임이다. 변수들은 명령 줄 위에서, .BAT 확장자를 가지는 일괄 처리 파일, 또는 스크립트 안에서 쓰일 수 있다. 변수 이름 주변이나 앞에 있는 특별한 기호를 놓아서 참조하는 것이 보통이다. 예를 들어, 도스 또는 윈도 시스템에서 "프로그램을 찾는 기본 경로"를 보여 주려면, 이 명령어를 사용하면 된다 echo %PATH% 다른 스크립트와 셸 환경에서는 가끔 위와 같은 목적에서라도 다른 기호를 사용한다. 많은 유닉스 셸에서는 흔히 달러 사인이 쓰인다 echo $PATH 도스와 윈도에서 SET 명령어를 변수 없이 사용하면 모든 환경 변수와 그에 따른 모든 값을 보여 준다. 도스-윈도의 특정한 값에 변수를 설정하려면 다음과 같이 사용하면 된다 SET 변수 = 값 "SET 변수 ="라고만 입력하면, 해당 변수 자체가 지워진다. env , set , 그리고 printenv 명령어들은 변수 없이 사용하면 모든 환경 변수와 그에 따른 모든 값을 보여 준다. env과 set은 또한 환경 변수를 설정하는 데 쓰일 수도 있으며 자주 셸에 직접 통합되기도 한다. printenv는 변수 이름을 명령어에 단일 변수로 주면 하나의 단일 변수를 인쇄하는 데 쓰일 수 있다. 유닉스에서 다음의 명령어들을 사용할 수 있지만 어떠한 셸에서는 자주 의존적으로 쓰인다. export 변수 = 값 # Bourne, bash, 그리고 다른 셸에서 쓰임 setenv 변수 값 # csh과 관련된 셸에서 쓰임 유닉스에서, 변수들은 export 키워드 없이 할당되기도 한다. 이러한 방법으로 변수를 정의하면 set 명령어를 통해 보이기는 하지만 차일드 프로세스에 종속되지는 않는다. 도스와 윈도 환경에서는 이것을 사용할 수 없다. 변수 = 값 PATH 디렉터리 경로의 목록. 사용자가 전체 경로를 지정하지 않고 명령을 입력하면 이 목록을 확인하여 해당 명령어가 경로에 속하는지를 살펴본다. HOME (유닉스 계열) 및 USERPROFILE (마이크로소프트 윈도우) 사용자의 홈 디렉터리가 파일 시스템의 어디에 위치해있는지를 지시한다. HOME/{.AppName} (유닉스 계열) 및 APPDATA\{DeveloperName\AppName} (마이크로소프트 윈도우) 애플리케이션 설정 저장을 위해 사용한다. 윈도우의 경우 수많은 애플리케이션들이 애플리케이션 설정에 USERPROFILE을 잘못 사용한다 USERPROFILE은 Documents/Pictures/Downloads/Music와 같은 경로를 사용자가 선택할 수 있게 허용하는 대화 상자에만 사용해야 한다. 프로그래밍 목적의 경우 APPDATA (여러 장치 간 공유되는 애플리케이션 설정 조회용), LOCALAPPDATA (로컬 애플리케이션 설정용) 또는 PROGRAMDATA (여러 OS 사용자 간 공유되는 애플리케이션 설정용)을 사용해야 한다. TERM (유닉스 계열) 사용되는 컴퓨터 터미널이나 터미널 에뮬레이터의 유형을 지정한다. (예 vt100 또는 dumb). PS1 (유닉스 계열) 본 셸 및 변종에서 프롬프트가 어떻게 표시될지를 지정한다. MAIL (유닉스 계열) 사용자의 메일을 발견할 위치를 지정하는데 사용된다. TEMP 프로세스가 임시 파일을 저장할 수 있는 위치이다. $PATH 콜론으로 구분된 디렉터리 목록을 포함하며 셸은 이름에 슬래시가 포함되지 않는 명령을 검색한다. 도스, OS/2, 윈도우의 %PATH% 변수와 동일하다. $HOME 사용자의 홈 디렉터리의 위치를 포함한다. getpwuid, getuid와 같은 C 함수를 통해 현재 사용자의 홈 디렉터리를 찾아낼 수 있으나 다양한 셸 스크립트(및 다른 컨텍스트)에서 편의를 위해 $HOME이 자주 사용된다. $PWD 현재 디렉터리의 변수 지점. pwd 명령어를 변수 없이 호출할 때의 출력과 동일하다. $DISPLAY X1 프로그램이 기본적으로 사용할 디스플레이 식별자를 포함한다. $LD_LIBRARY_PATH 동적 링커가 있는 수많은 유닉스 시스템에서 다른 모든 디렉터리를 찾기 전에 exec 이후 프로세스 이미지를 빌드할 때 동적 링커가 공유 오브젝트를 검색할 대상인 콜론 구분 디렉터리 목록을 포함한다. $LANG, $LC_ALL, $LC_... $LANG은 기본 로케일을 설정하기 위해 사용된다. 이를테면 로케일 값이 pt_BR이라면 언어는 (브라질) 포르투갈어로 설정된다. 각기 다른 지역화 관점은 개개의 $LC_- 변수($LC_CTYPE, $LC_COLLATE, $LC_DATE 등)들에 의해 제어된다. $LC_ALL을 사용하면 모든 관점에 동일한 로케일을 강제하는데 사용할 수 있다. $TZ 시간대를 참조한다. 시간대 자체를 지정하거나 파일을 참조(/usr/share/zoneinfo에서)시킴으로써 여러 형식으로 사용이 가능하다. == 마이크로소프트 윈도우 XP, 비스타의 기본 환경 변수와 값 == 변수 자료값 %ALLUSERSPROFILE% (윈도 XP) C:\Documents and Settings\All Users (윈도 비스타) C:\ProgramData %APPDATA% (윈도 XP) C:\Documents and Settings\{사용자 이름}\Application Data (윈도 비스타) C:\Users\{사용자 이름}\AppData\Roaming %COMPUTERNAME% {컴퓨터 이름} %COMSPEC% C:\Windows\System32\cmd.exe %HOMEDRIVE% C %HOMEPATH% (윈도 XP) \Documents and Settings\{사용자 이름} (윈도 비스타) \Users\{사용자 이름} %PATH% C:\Windows\System32\;C:\Windows\;C:\Windows\System32\Wbem %PATHEXT% (윈도 XP) .COM; .EXE; .BAT; .CMD; .VBS; .VBE; .JS .WSF .WSH (윈도 비스타) .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC %PROGRAMFILES% C:\Program Files %PROMPT% 현재 명령 프롬프트 포맷에 대한 코드. 보통 이 코드는 $P$G로 되어 있다. %SYSTEMDRIVE% 윈도 XP 루트 디렉터리를 포함하고 있는 드라이브. 보통 C %SYSTEMROOT% 윈도 디렉터리. 보통 C:\Windows로 되어 있으며, 공식적으로는 C:\WINNT이다. %TEMP% 및 %TMP% (윈도 XP) C:\Documents and Settings\{사용자 이름}\Local Settings\Temp (윈도 비스타) C:\Users\{사용자 이름}\AppData\Local\Temp %USERNAME% {사용자 이름} %USERPROFILE% (윈도 NT 4, 2000) C:\windows\Profile (윈도 XP) C:\Documents and Settings\{사용자 이름} (윈도 비스타) C:\Users\{사용자 이름} %WINDIR% C:\Windows Environment Variables Wiki User Environment Variables Environment Variables in Windows XP 분류:운영 체제 기술