오늘 올릴 내용의 제목을 조금 자극적(?)으로 해봤습니다. 아마 pwd라는 명령은 Mac OS(터미널 모드), 리눅스, 유닉스 등과 같은 OS를 사용하시는 분들에게는 익숙할 것이라고 생각합니다. 아시다시피 이 명령은 유저가 현재 위치한 디렉토리가 어디인지를 알려주는 역할을 합니다. 예를 들어 Mac OS의 터미널 프롬프트상에서 이 명령을 실행해보면 다음과 같이 현재 위치에 해당되는 디렉토리 경로를 알려줍니다.
SWLee:~ Sangwoo$ pwd
/Users/Sangwoo
그런데 이와 유사한 기능을 IDL 내에서도 사용할 수 있으면 좋겠단 생각이 들 경우가 있습니다. 사실 IDL을 사용하는 와중에도 현재 작업중인 디렉토리가 어디인지를 명시적으로 확인하는 것이 필요할 경우들이 종종 있기 때문입니다. 그러나 IDL에는 pwd라는 명령은 없습니다. 따라서 커맨드 입력창에서 이 명령을 실행해봤자 다음과 같이 존재하지 않는 명령이라는 에러 메시지만 나오게 됩니다.
IDL> pwd
% Attempt to call undefined procedure: 'PWD'.
% Execution halted at: $MAIN$
그렇다면 pwd는 없다하더라도 pwd에 준하는 기능은 IDL에 없을까요? 당연히 있습니다. 다음과 같이 해주면 됩니다.
IDL> CD, CURRENT=dir
IDL> PRINT, dir
/Users/Sangwoo/Documents/IDL
이와 같이 CD라는 명령을 CURRENT 키워드와 함께 사용하면 됩니다. CD 명령은 그 이름에서 짐작할 수 있듯이 "Change Directory"의 의미를 갖는, 즉 특정 디렉토리로의 이동을 목적으로 사용되는 명령입니다. 원래는 다음과 같이 옮겨가고자 하는 디렉토리의 이름을 문자값 인자로 주면서 사용합니다. 만약 현재 디렉토리 내에 data라는 이름의 하위 디렉토리가 있어서 그 디렉토리로 이동하고자 한다면 다음과 같이 해주면 됩니다.
IDL> CD, 'data'
물론 이 상태에서 아까와 같이 현재의 디렉토리 위치를 확인해보면 다음과 같습니다.
IDL> CD, CURRENT=dir
IDL> PRINT, dir
/Users/Sangwoo/Documents/IDL/data
이와 같이 CD 명령은 특정 디렉토리로의 이동을 위하여 사용할 수도 있고, CURRENT 키워드를 함께 사용하면 이 키워드에 지정된 변수를 통하여 현재 위치한 디렉토리 경로를 문자값의 형태로 가져올 수도 있게 해줍니다. 만약 한 단계 위의 상위 디렉토리로 되돌아가려면 다음과 같이 하면 됩니다.
IDL> CD, '..'
그리고 이동하고자 하는 디렉토리를 상대 경로가 아닌 절대 경로로 주는 것도 당연히 가능합니다.
IDL> CD, '/Applications/harris/IDL87'
물론 윈도우즈 OS에서라면 다음과 같은 형태가 되겠지요.
IDL> CD, 'C:\Applications\harris\IDL87'
사실 CD와 같은 명령은 IDL상에서 OS로의 접근을 가능하게 해주는 여러 종류의 명령들 중 하나입니다. 이와 관련된 좀 더 자세한 내용은 IDL 도움말에서 Routines (by Topic)의 Operating System Access이라는 섹션에서 잘 소개가 되어 있습니다. 여기서는 유사한 종류의 다른 명령들(FILE_MKDIR, FILE_MOVE, FILE_COPY 등)에 대한 자세한 내용들도 보실 수 있습니다. 이러한 OS 접근용 기능들을 잘 활용하면 좀 더 폭넓은 작업이 가능하므로 관심있게 봐두시길 권해봅니다.
'IDL > Miscellaneous' 카테고리의 다른 글
IDL User Group의 Q&A 게시판의 이용에 관하여 (내용 업데이트) (0) | 2019.08.19 |
---|---|
!color 시스템 변수로부터 컬러값 정보의 추출 및 활용 (0) | 2019.01.23 |
Mac OS 10.12.5에서 IDL 도움말이 뜨지 않는 문제 해결법 (0) | 2017.06.07 |
Windows 명령 프롬프트에서 IDL 실행을 위한 설정 방법 (0) | 2017.05.25 |
Application Development in IDL 교육 안내 (0) | 2017.05.12 |