눈바래다

내용

옵션

동작설명

typeset -f

모든함수들과 변수값들을 출력시킨다

모든 함수정의들은 히스토리 파일에 저장되기 때문에 히스토리 파일이 있어야 한다.

typeset +f

함수이름들만 출력시킨다.

typeset -fx

별도의 Korn shell 아닌 현재 shell 스크립트로 export 모든 함수정의를 출력시킨다.

typeset -fu

func 아직 정의되지않은 함수의 이름이다

함수의자동로드

자동로드되는 함수는 참조가 되지 않는한 메모리에 로드 되지 않는다

자동로드 기능을 사용하려면 ENV 파일에 FPATH 변수를 설정해야 한다

FPATH 변수는 함수 파일들을 포함하는 디렉토리를 검색하기 위해 찾는 경로를 갖는다

디렉토리에 있는 모든 파일들은 정의된 함수와 같은 이름을 가지고 있어야 한다

typeset -fu 알리아스인 autoload 아직 정의되지 않은 함수를 자동로드 함수로 지정시킨다

함수를 인자로 해서 autoload 코맨드를 실행시키고 나면 함수내에 있는 코맨드들은 실행시키기 위해 이함수를 참조해야만 한다

자동 로드 함수의 장점은 성능이 좋아진다는 것에 있다

왜냐하면 자동로드 함수가 참조되지 않으면 메모리에 로드되지 않기 때문이다.

명령

$mkdir functionlibrary

$cd functionlibrary

$vi foobar

function foobar {

pwd

ls

whoami

}

 

.profile

export FPATH=$HOME/functionlibrary

$autoload

$foobar

함수이름은 함수가 저장된 파일과 같은 이름을 가지고 있어야 하기 때문에 함수 파일과 직접링크를 시켜주어야 한다.

$ln math square

$ln math add

$ln math divide

$ls -li

$autoload square; square


'IT' 카테고리의 다른 글

0029. I/O 방향 재지정과 서브 Shell  (0) 2015.06.30
0028. [ PS1 ] ksh 에서 PS1 설정하기  (0) 2015.06.30
0026. [ bc ] bc scale 로 계산하기  (0) 2015.06.30
0025. 함수  (0) 2015.06.30
0024. export 된 함수  (0) 2015.06.30