반응형
디렉토리 이동을 편하게 CDPATH 환경변수!

우리는 쉘 상에서 많은 작업을 하게 되는데 특정 프로그램을 인스톨 하거나
다른 디렉토리에서 작업한 다음에 완전히 다른 디렉토리로 빈번히 옮겨가야
하는 경우가 있다. 여기서는 이러한 작업을 보다 쉽게 해줄 수 있는 방법을
소개한다.

CDPATH환경변수(sh, ksh, bash), 또는 csh의 cdpath 쉘변수를 특정 디렉토리로
설정하면 현재 어느 디렉토리에 있는지에 상관없이 cdpath(CDPATH)에 지정되어
있는 디렉토리의 하위디렉토리명을 찾아서 그 디렉토리로 CWD(현재디렉토리)를
옮겨 준다. 예를 들어 보면 다음과 같이 CDPATH(cdpath)가 지정되어 있다고
가정하자.

% set cdpath=(~ ~/src /usr/local/etc)

보통 우리는 /usr/local/etc/httpd라는 디렉토리로 가기 위해 일일이

% cd /usr/local/etc/httpd

이렇게 해 주어야 하지만 cdpath를 위에처럼
설정해 놓으면 단지 다음과 같은 명령을 통해 그 디렉토리로 옮겨갈 수 있다.

% cd httpd

그리고 본쉘(bourne)에서의 CDPATH는 다음과 같이 설정한다.

$ CDPATH=:$HOME:$HOME/src:/usr/local/etc
$ export CDPATH

위에서 CDPATH 지정할때 앞부분에 ':'를 넣었는데 이것은 PATH변수를 지정할때는
없는 것인데, 현재 디렉토리를 지칭한다.

반응형