'LOADPATH'에 해당되는 글 1건

  1. 2010.03.21 Octave 검색 경로 편집하기
http://www.gnu.org/software/octave/doc/interpreter/Function-Files.html#Function-Files

옥타브(Octave) 스크립트(script)를 실행하면, 스크립트에 적혀 있는 명령어(command)나 변수(variable)들을 순차적으로 옥타브가 실행한다. 이 때, 옥타브는 우선 이미 컴파일(compile) 되어서 부호표(symbol table)에 저장되어 있는 명령어, 변수부터 찾기 시작한다. 만약 여기서 찾을 수 없으면, 경로(path)에 나와 있는 디렉토리(directory) 아래에 있는 .m 파일들 중에서 명령어와 파일이름이 동일한 것으로 고른다.

옥타브 경로 변수는 DEFAULT_LOADPATH와 LOADPATH가 있다. DEFAULT_LOADPATH는 옥타브 내부적으로 내정한 값으로 일반 사용자가 건드리지 않는 것이 좋다. 옥타브 명령 창 (command window) 에  DEFAULT_LOADPATH 를 치고 엔터 키를 누르면 아래와 같이 콜론(:)으로 구분된 일련의 디렉토리들이 나열된다.

octave:1> DEFAULT_LOADPATH
DEFAULT_LOADPATH =.:/usr/local/libexec/octave/2.1.73/site/oct/i686-pc-linux-gnu//:/usr/local/libexec/
octave/site/oct/api-v13/i686-pc-linux-gnu//:/usr/local/libexec/octave/site/oct/i686-pc-linux-gnu//:/usr/local/
share/octave/2.1.73/site/m//:/usr/local/share/octave/site/api-v13/m//:/usr/local/share/octave/site/m//:/usr/local/
libexec/octave/2.1.73/oct/i686-pc-linux-gnu//:/usr/local/share/octave/2.1.73/m//

*.m 소스 파일들은 /usr/local/share/octave/2.1.73/m 디렉토리 아래에 들어 있다.

LOADPATH 는 사용자가 편집할 수 있는 경로로서 ~/.octaverc 파일에서 LOADPATH를 정의할 수 있다. 예를
들어, 개인 홈 디렉토리 아래 Codes/OctaveScripts 디렉토리 안에 옥타브 스크립트들이 있다면,
~/.octaverc 파일을 열어서 LOADPATH를 다음과 같이 정의한다.

LOADPATH = "::~/Codes/OctaveScripts//"

주의할 점은 두 개의 콜론을 반드시 넣어야 한다는 것이다. 이는 DEFAULT_LOADPATH에서 정의된 디렉토리들을 LOADPATH로 불러오기 위함이다. 이를 빠뜨리게 되면, 기본적인 명령어도 Octave가 이해하지 못하는 경우가 생긴다. 두 개의 콜론은 하나의 첫 콜론이나 하나의 마지막 콜론으로도 대체될 수 있다. 즉, 아래 표현들은 다 동일하다.

LOADPATH = "::~/Codes/OctaveScripts//"
LOADPATH = ":~/Codes/OctaveScripts//"
LOADPATH = "~/Codes/OctaveScripts//:"

위 예에서 // 는 OctaveScripts 자체 디렉토리 및 그 하위 모든 디렉토리를 의미한다.

옥타브 버전 3 부터는 직접 ~/.octaverc 파일을 건드리는 대신에 Octave 명령 창에서 path 관련 명령어를
이용하도록 바뀌었다.[각주:1] 예를 들어 ~/Octave 란 디렉토리를 Octave 검색 경로에 넣고 싶다면, 아래와 같이 입력한다.

octave:2> addpath("~/Octave")

디렉토리를 경로에서 지우고 싶으면 rmpath 명령어를 이용한다.

octave:3> rmpath("~/Octave")

옥타브의 검색 경로를 확인하고 싶으면 pathdef() 나 path 를 이용한다.

octave:4> pathdef()


  1. http://www.gnu.org/software/octave/NEWS-3.html [본문으로]
Posted by 참향그늘
,