'''환경 변수'''(環境 變數, )는 프로세스가 컴퓨터에서 동작하는 방식에 영향을 미치는, 동적인 값들의 모임이다. == 환경 변수 보기/설정 == 변수들은 명령 위에서, .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} (유닉스 계열) (마이크로소프트 윈도우): 애플리케이션 설정 저장을 위해 사용한다. 윈도우의 경우 수많은 애플리케이션들이 애플리케이션 설정에 USERPROFILE을 잘못 사용한다: USERPROFILE은 같은 경로를 사용자가 선택할 있게 허용하는 대화 상자에만 사용해야 한다. 프로그래밍 목적의 경우 APPDATA (여러 장치 공유되는 애플리케이션 설정 조회용), LOCALAPPDATA (로컬 애플리케이션 설정용) 또는 PROGRAMDATA (여러 OS 사용자 공유되는 애플리케이션 설정용)을 사용해야 한다. TERM (유닉스 계열): 사용되는 컴퓨터 터미널이나 터미널 에뮬레이터의 유형을 지정한다. (예: vt100 또는 dumb). PS1 (유닉스 계열): 변종에서 프롬프트가 어떻게 표시될지를 지정한다. MAIL (유닉스 계열): 사용자의 메일을 발견할 위치를 지정하는데 사용된다. TEMP: 프로세스가 임시 파일을 저장할 있는 위치이다. == 유닉스 == ;$PATH: 콜론으로 구분된 디렉터리 목록을 포함하며 셸은 이름에 슬래시가 포함되지 않는 명령을 검색한다. 도스, OS/2, 윈도우의 %PATH% 변수와 동일하다. ;$HOME: 사용자의 디렉터리의 위치를 포함한다. getpwuid, getuid와 같은 함수를 통해 현재 사용자의 디렉터리를 찾아낼 있으나 다양한 스크립트(및 다른 컨텍스트)에서 편의를 위해 $HOME이 자주 사용된다. ;$PWD: 현재 디렉터리의 변수 지점. pwd 명령어를 변수 없이 호출할 때의 출력과 동일하다. ;$DISPLAY: X1 프로그램이 기본적으로 사용할 디스플레이 식별자를 포함한다. 동적 링커가 있는 수많은 유닉스 시스템에서 다른 모든 디렉터리를 찾기 전에 exec 이후 프로세스 이미지를 빌드할 동적 링커가 공유 오브젝트를 검색할 대상인 콜론 구분 디렉터리 목록을 포함한다. ;$LANG, $LC_ALL, $LC_...: $LANG은 기본 로케일을 설정하기 위해 사용된다. 이를테면 로케일 값이 pt_BR이라면 언어는 (브라질) 포르투갈어로 설정된다. 각기 다른 지역화 관점은 개개의 $LC_- 변수($LC_CTYPE, $LC_COLLATE, $LC_DATE 등)들에 의해 제어된다. $LC_ALL을 사용하면 모든 관점에 동일한 로케일을 강제하는데 사용할 있다. ;$TZ: 시간대를 참조한다. 시간대 자체를 지정하거나 파일을 여러 형식으로 사용이 가능하다. == 마이크로소프트 윈도우 XP, 비스타의 기본 환경 변수와 == 변수 자료값 (윈도 XP) C:\Documents and Settings\All Users (윈도 비스타) C:\ProgramData %APPDATA% (윈도 XP) C:\Documents and Settings\{사용자 이름}\Application Data (윈도 비스타) C:\Users\{사용자 %COMPUTERNAME% {컴퓨터 이름} %COMSPEC% %HOMEDRIVE% C: %HOMEPATH% (윈도 XP) \Documents and Settings\{사용자 이름} (윈도 비스타) \Users\{사용자 이름} %PATH% %PATHEXT% (윈도 XP) .COM; .EXE; .BAT; .CMD; .VBS; .VBE; .JS .WSF: .WSH (윈도 비스타) %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\{사용자 %USERNAME% {사용자 이름} %USERPROFILE% (윈도 NT 4, 2000) (윈도 XP) C:\Documents and Settings\{사용자 이름} (윈도 비스타) C:\Users\{사용자 이름} %WINDIR% C:\Windows == 각주 == == 외부 링크 == Environment Variables Wiki User Environment Variables Environment Variables in Windows XP 분류:운영 체제 기술