Java나 Tomcat 등 여러 프로그램을 설치할 때 환경변수를 설정하는 것을 보았을 것이다.
그렇다면 왜 환경변수를 설정하는 것일까? 그 이유를 알아보도록 하자.
바탕화면에 testdir이라는 폴더가 있고 그 안에 test.txt라는 파일이 있다고 가정하자.
우리는 이 test.txt을 열기 위해서 해당 디렉토리로 이동 후 클릭하여 파일을 열 것이다. 이 동작은 command line interface(CLI)환경에서 아래의 그림과 동일하다.
만약 파일이 존재하는 디렉토리로 이동을 안하고 바로 파일을 실행하면 어떻게 될까? 아래의 그림과 같이 에러 메세지가 출력된다.
이렇게 해당 파일로 접근하기 위해서는 그 파일이 존재하는 디렉토리로 이동해야하는 불편함이 있다. 만약 어느 경로에서나 test.txt를 열 수 있는 방법은 없을까?
▶ 답은 환경변수이다.
운영체제가 어떠한 명령을 받았을 때의 동작을 보자.
- 현재 위치한 디렉토리에 해당 명령어가 있는지 확인한다. (있는 경우 실행하고 없는 경우 2번으로 넘어간다.)
- Path라는 환경변수가 가지고 있는 모든 경로에 대해서 입력된 명령어가 존재하는지 탐색한다.
- 명령어를 발견하면 실행한다. 발견하지 못하면 위의 그림과 같이 에러 메세지를 출력한다.
이제 Path에 등록되어있는 경로들을 확인해보자.
명령어 : path
"PATH="이후에 적힌 경로들이 환경변수에 등록되어 있는 경로들이다. 각 경로들은 ;(세미콜론)으로 구별되어 있으며 이를 기준으로 탐색을 진행한다.
이제 test.txt가 위치한 디렉토리의 경로도 Path에 추가해보겠다.
이렇게 Path 명령어로 환경변수에 testdir의 경로가 추가된 것을 확인할 수 있다.
이제 아무경로에서나 test.txt를 열어보자.
환경변수는 프로그램을 설치하면 자동적으로 설정되는 경우도 있고 이렇게 사용자가 직접 설정하는 경우도 있다.
같은 프로그램을 여러 버전으로 관리해야할 때 환경변수 설정만으로 명령어에 의해 구동되는 버전을 변경할 수 있다.
이렇게 환경변수에 대해서 알아보았다. IDE를 통해서 개발을 한다면 굳이 환경변수를 설정할 필요가 없겠지만 그래도 알아두면 언젠가는 써먹지 않을까 싶다.
댓글