환경변수

위키원
greenwood26 (토론 | 기여)님의 2020년 8월 10일 (월) 19:39 판 (종류)
이동: 둘러보기, 검색

환경변수란 프로세스가 컴퓨터에서 동작하는 방식에 영향을 미치는, 동적인 값들의 모임이다.[1]

개요

OS의 환경변수는 시스템의 실행파일이 놓여 있는 디렉토리의 지정 등 OS 상세서 동작하는 응용소프트웨어가 참조하기 위한 설정이 기록된다. 응용소프트웨어는 시스템콜(system call)이나 OS의 표준 API 등을 통하여 간단히 값을 얻을 수록 되어있다. 쉽게 이야기해서 각자 깊숙히 위치해 있는 응용프로그램을 쉽게 꺼내쓰기 위해서 미리 변수로 등록해 놓는 것을 말한다.[2]

목적

환경변수를 이용해 Path 설정을 해주면 실행할 파일이 있는 해당 폴더가 아니여도 실행 할 수 있다. 쉽게 예를 들면 메모장의 경우에는 C:\Windows\System32\notepad.exe 경로에 있으나 환경변수 Path설정이 되어 있기 때문에 해당 폴더에 접근하지 않고도, 실행창이나 커맨드 모드의 창에서 notepad라는 명령어를 입력하면 메모장이 실행된다. 이처럼 환경변수를 설정 하는 이유는 컴퓨터 어떠한 곳이라도 java프로그램을 접근할 수 있도록 해주기 위함이다. 자바에 경우를 예를 들어 설명하면 JDK를 설치하게 되면 java명령어는 사용이 가능하지만 javac와 같은 명령은 작동이 되지않는다. JDK 설치 후 JDK와 JRE 2가지 폴더가 설치되게 된다. JDK 폴더에는 api와 컴파일러가 설치되고 JRE는 자바프로그램 실행을 위한 JVM과 java.exe가 설치된다. jre는 자동으로 Path설정이 되지만 jdk는 자동으로 Path 설정이 되지않는다. 따라서 jdak폴더의 bin을 사용하기 위해서는 Path설정을 해줘야한다.[3]

종류

도스

DOS와 관련된 기본적인 환경 변수[4]

변수 내용
MSDOSDATA MSAV.EXE와 MSBACKUP.EXE가 참조하는 것으로 MSDOSDATA에 설정되는 디렉토리에는 MSAV 및 MSBACKUP의 설정파일들이 저장된다.
APPEND DOS 명령인 APPEND.EXE가 참조하는 것으로 APPEND.EXE의 /E스위치로도 설정할 수 있다.
COMSPEC CONFIG.SYS에서 SHELL명령으로 설정된 명령 처리기의 경로명을 포함한다.
CONFIG 시스템을 시작할 때 다중 시작 메뉴에서 선택한 블록명을 포함한다.
COPYCMD 이환경 변수에 COPY 명령의 스위치를 설정하면 COPY명령은 이 스위치를 항상 사용한다.
DIRCMD 이 환경 변수에 DIR 명령의 스위치를 설정하려면 DIR명령은 이 스위치를 항상 사용한다.
PATH 사용자가 프로그램의 실행 파일명을 입력하여 그 프로그램을 실행할 때 현재 디렉토리에 실행 파일명이 없는 경우 DOS느 PATH에 설정된 경로명에 서 실행 파일명을 찾는다.
PROMPT 이 환경 변수에 프롬프트 모양을 설정하면, 일반적인 MS-DOS 프로프트 모양은 이 환경 변수를 참조하여 출력된다.
TEMP 이 환경 변수에 경로명을 설정하면, 임시 파일(Temporary File)이 설정된 경로명에 생성된다.
WINPMT 이 환경 변수에 프롬프트 모양을 설정하면 윈도우즈 95/98의 도스창의 프롬프트 모양은 이 환경 변수를 참조하여 화면에 출력된다.


유닉스 (UNIX)

유닉스와 관련된 기본적인 환경변수 [5]

변수 내용
HOME 현재 사용자의 홈 디렉토리
LANG 기본 지원되는 언어
TERM 로그인 터미널 타입
USER 사용자의 이름
COLUMNS 현재 터미널의 칼럼수
LINES 현재 터미널 라인 수
PS1 1차 명령 프롬프트 변수
PS2 2차 프롬프트 변수
(BASH) (bash 셸의 경로)
(BASH_VERSION) (bash 버전)
HISTFILE 히스토리 파일의 절대 경로
HISTFILESIZE 히스토리 파일의 크기
HISTSIZE 히스토리 파일에 저장되는 명령어(줄)의 개수
MAIL 도착한 메일이 저장되는 경로
TMOUT 사용자가 로그인한 후 일정 시간동안 작업을 하지 않을경우레 로그아웃 시키는 시간(초|-
UID 사용자의 UID
PATH 실행 파일을 찾는 디렉토리 경로
PWD 사용자의 현재 작업 디렉토리
SHELL 사용자의 로그인 셸
DISPLAY X윈도에서 프로그램 실행 시 출력되는 창
HOSTNAME 시스템의 호스트명
LOGNAME 로그인 이름
OSTYPE 운영체제 타입

윈도우10

윈도우10과 관련된 기본적인 환경변수[6]

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

활용

Window 10에서 JAVA 환경변수 설정[7]

JDK 설치

오라클 홈페이지로 접속해 자바 JDK를 <다운로드> 받고 설치합니다.(오라클 가입 필수)

고급 시스템 설정

제어판 > 시스템 및 보안 > 시스템 > 고급 시스템 설정 메뉴에 들어갑니다.

환경 변수 메뉴

시스템 속성 창이 뜨면 '환경 변수' 메뉴를 선택합니다.

환경 변수 추가

환경 변수 창이 뜨면 '시스템 변수(S)'항목에 있는 '새로 만들기(W)' 버튼을 누릅니다. 새 시스템 변수 창이 뜬다면, 아래의 표의 내용을 기입합니다.

변수 이름(N) 변수 값(V)
CLASSPATH %classpath%;.[8]
JAVA_HOME 컴퓨터에 설치된 jdk의 경로( ex)C:\Program Files\Java\jdk1.7.0_80)[9]

시스템 변수 Path 값 추가

시스템 변수(S) 목록중 'Path' 선택후 편집 클릭, 새로 만들기(N) 클릭 후 아래의 값을 추가한다.

%JAVA_HOME%bin

명령어 확인

cmd창 실행후 'javac' 명령어 입력 후 "javac는 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다"라는 문구가 출력되지 않는다면 정상적으로 환경변수가 설정된 것이지만 해당 문구가 출력된다면 'CLASSPATH' 와 'JAVA_HOME' 변수의 값을 재확인 해봐야한다.


각주

  1. 환경 변수〉, 《위키백과》
  2. xxxelppa , <java 환경변수 설정 방법과 이유>, <<티스토리 블로그>>, 2017-06-08
  3. WhiteGom, <Java 환경설정 이유와 환경설정 방법 (Path 설정이유, Path 설정 방법)>, <<티스토리 블로그>>, 2011-06-30
  4. sirjhswin, <[1]>, <<개인 블로그>>, 2009-05-07
  5. IT 양햄찌, <(리눅스)셸 환경변수, 프롬프트(Prompt)란, PS1과 PS2 차이점, 관련문제>, <<양햄찌가 만드는 세상>>, 2019-02-06
  6. 우균, <Windows 10 환경변수 설정>, <<개인 블로그>>, 2018-08-11
  7. IT세레스, <자바(JAVA) JDK 설치 및 환경 변수 설정하는 방법입니다.>, <<개인 블로그>>, 2017-05-23
  8. 마침표를 꼭 찍어야한다.
  9. Java 설치 경로, 버전에 따라 값이 변경되니 설치한 경로를 꼭 확인한다.

참고자료

같이 보기