- 파일이나 디렉터리의 일반적인 형태로써, 파일 시스템에서 고유한 위치를 지정
- 실행 가능한 프로그램이 있는 디렉터리 집합을 지정
1번 정의는 "파일 경로"라는 용어로 요약이 가능하다.
이 글의 요점은 2번 정의인 환경 변수에 대한 내용이다. 이 개념은 CLI 환경에서 편리성을 제공하는 역할을 담당한다.
알반적으로 어떤 명령을 입력하게 되면, 현재 디렉토리 위치(current directory)에 존재하는 파일들을 기준으로 동작한다. 하지만 대부분의 경우 bin 폴더에 있을법한 명령 실행 파일을 작업 폴더에 넣는 짓은 하지 않기에, 플랫폼 의존적인 개발을 한다면 이 부분은 상당히 큰 문제다.
다행히(?) 대부분의 CLI 환경에서는 절대경로를 활용하여 특정 bin 폴더 내 명령 실행 파일을 가리키면 해당 파일을 이용할 수 있다. 그러나 이 방식은 내가 해당 파일들의 절대 경로를 전부 외워서 입력해야 한다는 것을 전제로 한다. 이 귀찮은 짓을 환경변수를 사용하여 컴퓨터에게 시키는 것이다. Windows 운영체제 기준 환경 변수의 CSV는 ;로, 현재 디렉토리 내부에 없는 파일을 입력한 경우 컴퓨터는 path에 등록한 경로들을 순차탐색하여 조회한다. 등록된 경로에 해당 파일이 있으면, 자동으로 그 파일을 실행시켜 입력한 명령을 수행한다.
그러니 개발자라면 이 환경변수라는 것을 잘 알고 있는 것이 정신 건강에 좋다. IDE만 써서 개발했다면 IDE가 이 부분들을 자동으로 처리해서 이 부분은 쉽게 놓칠 수 있는데, 이번에 이 글을 보면서 얻어가는 것이 있으면 좋겠다.
기존에 콘솔을 켜둔 상태에서 path를 변경한 후, 다시 해당 콘솔을 이용하여 작업을 진행하면 안된다. 해당 콘솔은 가장 마지막 path만 기억하기 때문이다. 그러므로 path 변경 후에는 항상 새 콘솔로 변경하여 작업을 진행하도록 하자.